The patch titled
     oz99x-i2c-button-and-led-support-driver update
has been removed from the -mm tree.  Its filename was
     oz99x-i2c-button-and-led-support-driver-update.patch

This patch was dropped because it was folded into 
oz99x-i2c-button-and-led-support-driver.patch

The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/

------------------------------------------------------
Subject: oz99x-i2c-button-and-led-support-driver update
From: Hendrik Sattler <[EMAIL PROTECTED]>

Cc: Jean Delvare <[EMAIL PROTECTED]>
Cc: Richard Purdie <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
---

 drivers/i2c/chips/Kconfig |    1 
 drivers/i2c/chips/oz99x.c |   65 +++++++++++++++++++++---------------
 2 files changed, 38 insertions(+), 28 deletions(-)

diff -puN 
drivers/i2c/chips/Kconfig~oz99x-i2c-button-and-led-support-driver-update 
drivers/i2c/chips/Kconfig
--- a/drivers/i2c/chips/Kconfig~oz99x-i2c-button-and-led-support-driver-update
+++ a/drivers/i2c/chips/Kconfig
@@ -139,7 +139,6 @@ config OZ99X
        tristate "O2 Micro/ETC OZ990/OZ992 SMBus chip"
        depends on I2C
        select INPUT_POLLDEV
-       select LEDS_CLASS
        help
          If you say Y here, you get support for the OZ990 and OZ992 chip
          from O2 Micro. This driver provides support for buttons and
diff -puN 
drivers/i2c/chips/oz99x.c~oz99x-i2c-button-and-led-support-driver-update 
drivers/i2c/chips/oz99x.c
--- a/drivers/i2c/chips/oz99x.c~oz99x-i2c-button-and-led-support-driver-update
+++ a/drivers/i2c/chips/oz99x.c
@@ -54,17 +54,6 @@ struct oz99x_data {
        } range;
 };
 
-struct oz99x_led_data {
-       struct oz99x_data *data;
-
-       int gpio;
-       char name[8];
-       struct led_classdev cdev;
-
-       struct list_head list;
-};
-#define oz99x_from_led_cdev(c) container_of(c, struct oz99x_led_data, cdev)
-
 #define oz99x_reg_write(client, reg, value) \
        i2c_smbus_write_word_data(client, reg, value)
 #define oz99x_reg_read(client, reg) i2c_smbus_read_word_data(client, reg)
@@ -231,6 +220,18 @@ static DEVICE_ATTR(regs, 0444, regs_show
 #define OZ99X_CHIPID_ID(n)  (((n) >> 8) & 0x00FF)
 #define OZ99X_CHIPID_REV(n) ((n) & 0x00FF)
 
+#if defined(CONFIG_LEDS_CLASS) || defined(CONFIG_LEDS_CLASS_MODULE)
+struct oz99x_led_data {
+       struct oz99x_data *data;
+
+       int gpio;
+       char name[8];
+       struct led_classdev cdev;
+
+       struct list_head list;
+};
+#define oz99x_from_led_cdev(c) container_of(c, struct oz99x_led_data, cdev)
+
 static
 int oz99x_find_leds(struct i2c_client *client)
 {
@@ -318,6 +319,21 @@ void oz99x_configure_leds(struct oz99x_d
 }
 
 static
+void __devexit oz99x_cleanup_leds (struct oz99x_data* data)
+{
+       struct list_head *pos;
+       list_for_each(pos, &data->leds) {
+               struct oz99x_led_data *ldata =
+                       list_entry(pos, struct oz99x_led_data, list);
+               led_classdev_unregister(&ldata->cdev);
+               kfree(ldata);
+       }
+}
+#else
+#define oz99x_cleanup_leds(data)
+#endif /* CONFIG_LEDS_CLASS */
+
+static
 int oz99x_find_buttons(struct i2c_client *client)
 {
        int i;
@@ -578,8 +594,7 @@ int __devinit oz99x_probe(struct i2c_cli
        struct oz99x_data *data;
        struct i2c_adapter *adapter = to_i2c_adapter(client->dev.parent);
        int id;
-       int buttons;
-       int leds;
+       int lines;
        int status = 0;
 
        if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_WORD_DATA))
@@ -598,22 +613,24 @@ int __devinit oz99x_probe(struct i2c_cli
                goto out;
        }
 
-       buttons = oz99x_find_buttons(client);
-       if (!buttons) {
+       lines = oz99x_find_buttons(client);
+       if (!lines) {
                dev_info(&client->dev, "no buttons configured.\n");
        } else {
-               status = oz99x_configure_buttons(client, buttons);
+               status = oz99x_configure_buttons(client, lines);
                if (!status)
-                       status = oz99x_buttons_poll_setup(data, buttons);
+                       status = oz99x_buttons_poll_setup(data, lines);
                if (status)
                        goto out;
        }
 
-       leds = oz99x_find_leds(client);
-       if (!leds)
+#if defined(CONFIG_LEDS_CLASS) || defined(CONFIG_LEDS_CLASS_MODULE)
+       lines = oz99x_find_leds(client);
+       if (!lines)
                dev_info(&client->dev, "no LEDs configured.\n");
        else
-               oz99x_configure_leds(data, leds);
+               oz99x_configure_leds(data, lines);
+#endif /* CONFIG_LEDS_CLASS */
 
        switch (id) {
        case 0x90:
@@ -642,7 +659,6 @@ out:
 static
 int __devexit oz99x_remove(struct i2c_client *client)
 {
-       struct list_head *pos;
        struct oz99x_data *data = i2c_get_clientdata(client);
 
        if (data->ipdev)
@@ -654,12 +670,7 @@ int __devexit oz99x_remove(struct i2c_cl
                device_remove_file(&client->dev, &dev_attr_regs_max);
        }
 
-       list_for_each(pos, &data->leds) {
-               struct oz99x_led_data *ldata =
-                       list_entry(pos, struct oz99x_led_data, list);
-               led_classdev_unregister(&ldata->cdev);
-               kfree(ldata);
-       }
+       oz99x_cleanup_leds(data);
 
        kfree(data);
        return 0;
_

Patches currently in -mm which might be from [EMAIL PROTECTED] are

oz99x-i2c-button-and-led-support-driver.patch
oz99x-i2c-button-and-led-support-driver-update.patch
fjkeyinf-driver-for-fsc-lifebook-laptops.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to