]> Pileus Git - ~andy/linux/blobdiff - drivers/i2c/busses/i2c-bfin-twi.c
Merge tag 'xfs-for-linus-v3.13-rc1-2' of git://oss.sgi.com/xfs/xfs
[~andy/linux] / drivers / i2c / busses / i2c-bfin-twi.c
index 13ea1c29873d61f4028f48b7d8f49d7fb9a1afaa..3b9bd9a3f2b08a0a43683c87f1801d2f330185c3 100644 (file)
@@ -582,6 +582,7 @@ static struct i2c_algorithm bfin_twi_algorithm = {
        .functionality = bfin_twi_functionality,
 };
 
+#ifdef CONFIG_PM_SLEEP
 static int i2c_bfin_twi_suspend(struct device *dev)
 {
        struct bfin_twi_iface *iface = dev_get_drvdata(dev);
@@ -619,6 +620,10 @@ static int i2c_bfin_twi_resume(struct device *dev)
 
 static SIMPLE_DEV_PM_OPS(i2c_bfin_twi_pm,
                         i2c_bfin_twi_suspend, i2c_bfin_twi_resume);
+#define I2C_BFIN_TWI_PM_OPS    (&i2c_bfin_twi_pm)
+#else
+#define I2C_BFIN_TWI_PM_OPS    NULL
+#endif
 
 static int i2c_bfin_twi_probe(struct platform_device *pdev)
 {
@@ -669,8 +674,9 @@ static int i2c_bfin_twi_probe(struct platform_device *pdev)
        p_adap->timeout = 5 * HZ;
        p_adap->retries = 3;
 
-       rc = peripheral_request_list((unsigned short *)pdev->dev.platform_data,
-                                       "i2c-bfin-twi");
+       rc = peripheral_request_list(
+                       dev_get_platdata(&pdev->dev),
+                       "i2c-bfin-twi");
        if (rc) {
                dev_err(&pdev->dev, "Can't setup pin mux!\n");
                goto out_error_pin_mux;
@@ -717,7 +723,7 @@ out_error_add_adapter:
        free_irq(iface->irq, iface);
 out_error_req_irq:
 out_error_no_irq:
-       peripheral_free_list((unsigned short *)pdev->dev.platform_data);
+       peripheral_free_list(dev_get_platdata(&pdev->dev));
 out_error_pin_mux:
        iounmap(iface->regs_base);
 out_error_ioremap:
@@ -733,7 +739,7 @@ static int i2c_bfin_twi_remove(struct platform_device *pdev)
 
        i2c_del_adapter(&(iface->adap));
        free_irq(iface->irq, iface);
-       peripheral_free_list((unsigned short *)pdev->dev.platform_data);
+       peripheral_free_list(dev_get_platdata(&pdev->dev));
        iounmap(iface->regs_base);
        kfree(iface);
 
@@ -746,7 +752,7 @@ static struct platform_driver i2c_bfin_twi_driver = {
        .driver         = {
                .name   = "i2c-bfin-twi",
                .owner  = THIS_MODULE,
-               .pm     = &i2c_bfin_twi_pm,
+               .pm     = I2C_BFIN_TWI_PM_OPS,
        },
 };