 +
 +static void mpc8313leds_yellow_set(struct led_classdev *led_cdev, enum led_brightness value)
 +{
-+	int d = ioread16(p);
-+	iowrite16(value?d&~2:d|2, p);
++	led_state = value ? led_state&~64 : led_state|64;
++	iowrite8(led_state, led_io);
 +}
 +
 +static struct led_classdev mpc8313_yellow_led = {

+
+static void mpc8313leds_red_set(struct led_classdev *led_cdev, enum led_brightness value)
+{
+	int d = ioread16(p);
+	iowrite16(value?d&~4:d|4, p);
+}
+
+static struct led_classdev mpc8313_red_led = {

+#include <linux/err.h>
+#include <asm/io.h>
+
+#define LEDS_BASE 0xfa000000
+#define LEDS_SIZE 0x2
+
+static struct platform_dev *leds_pdev = NULL;
+static struct resource *led_mem = NULL;
+static void *led_io = NULL;
+static u8 led_state = 0;
+
+static void mpc8313leds_green_set(struct led_classdev *led_cdev, enum led_brightness value)
+{
+	led_state = value ? led_state&~32 : led_state|32;
+	iowrite8(led_state, led_io);
+}
+
+static struct led_classdev mpc8313_green_led = {
