Merge branch 'akpm' (patches from Andrew)
[deliverable/linux.git] / drivers / extcon / extcon-sm5502.c
index 7aac3cc7efd79ff121850252c9f24ec434ee37d3..df769a17e736fcadae1fbf05543fd6837ebd0f13 100644 (file)
@@ -95,6 +95,7 @@ static struct reg_data sm5502_reg_data[] = {
 static const unsigned int sm5502_extcon_cable[] = {
        EXTCON_USB,
        EXTCON_USB_HOST,
+       EXTCON_CHG_USB_SDP,
        EXTCON_CHG_USB_DCP,
        EXTCON_NONE,
 };
@@ -411,6 +412,9 @@ static int sm5502_muic_cable_handler(struct sm5502_muic_info *info,
 
        /* Change the state of external accessory */
        extcon_set_cable_state_(info->edev, id, attached);
+       if (id == EXTCON_USB)
+               extcon_set_cable_state_(info->edev, EXTCON_CHG_USB_SDP,
+                                       attached);
 
        return 0;
 }
@@ -655,7 +659,7 @@ MODULE_DEVICE_TABLE(of, sm5502_dt_match);
 #ifdef CONFIG_PM_SLEEP
 static int sm5502_muic_suspend(struct device *dev)
 {
-       struct i2c_client *i2c = container_of(dev, struct i2c_client, dev);
+       struct i2c_client *i2c = to_i2c_client(dev);
        struct sm5502_muic_info *info = i2c_get_clientdata(i2c);
 
        enable_irq_wake(info->irq);
@@ -665,7 +669,7 @@ static int sm5502_muic_suspend(struct device *dev)
 
 static int sm5502_muic_resume(struct device *dev)
 {
-       struct i2c_client *i2c = container_of(dev, struct i2c_client, dev);
+       struct i2c_client *i2c = to_i2c_client(dev);
        struct sm5502_muic_info *info = i2c_get_clientdata(i2c);
 
        disable_irq_wake(info->irq);
This page took 0.035025 seconds and 5 git commands to generate.