Platform: x86: chromeos_laptop - Add Taos tsl2583 device
authorBenson Leung <bleung@chromium.org>
Fri, 1 Feb 2013 22:34:46 +0000 (14:34 -0800)
committerMatthew Garrett <matthew.garrett@nebula.com>
Wed, 27 Feb 2013 13:30:40 +0000 (08:30 -0500)
The Samsung Series 5 Chromebook is equipped with  a Taos tsl2583
light sensor. Instatiate it here.

Signed-off-by: Benson Leung <bleung@chromium.org>
Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
drivers/platform/x86/chromeos_laptop.c

index 188b7da..95bf94f 100644 (file)
@@ -50,6 +50,10 @@ static struct i2c_board_info __initdata isl_als_device = {
        I2C_BOARD_INFO("isl29018", ISL_ALS_I2C_ADDR),
 };
 
+static struct i2c_board_info __initdata tsl2583_als_device = {
+       I2C_BOARD_INFO("tsl2583", TAOS_ALS_I2C_ADDR),
+};
+
 static struct i2c_board_info __initdata tsl2563_als_device = {
        I2C_BOARD_INFO("tsl2563", TAOS_ALS_I2C_ADDR),
 };
@@ -164,6 +168,13 @@ static int __init setup_isl29018_als(const struct dmi_system_id *id)
        return 0;
 }
 
+static int __init setup_tsl2583_als(const struct dmi_system_id *id)
+{
+       /* add tsl2583 light sensor on smbus */
+       als = add_smbus_device(NULL, &tsl2583_als_device);
+       return 0;
+}
+
 static int __init setup_tsl2563_als(const struct dmi_system_id *id)
 {
        /* add tsl2563 light sensor on smbus */
@@ -195,6 +206,13 @@ static struct dmi_system_id __initdata chromeos_laptop_dmi_table[] = {
                },
                .callback = setup_cyapa_smbus_tp,
        },
+       {
+               .ident = "Samsung Series 5 - Light Sensor",
+               .matches = {
+                       DMI_MATCH(DMI_PRODUCT_NAME, "Alex"),
+               },
+               .callback = setup_tsl2583_als,
+       },
        {
                .ident = "Cr-48 - Light Sensor",
                .matches = {