]> Pileus Git - ~andy/linux/commitdiff
i2c: i2c-bfin-twi: Move TWI peripheral pin request array to platform data.
authorSonic Zhang <sonic.zhang@analog.com>
Wed, 13 Jun 2012 08:22:46 +0000 (16:22 +0800)
committerWolfram Sang <w.sang@pengutronix.de>
Fri, 13 Jul 2012 06:37:30 +0000 (08:37 +0200)
Depend on commit cf93feb3a0dee97c7896016a352a3226139fbcf4

Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
drivers/i2c/busses/i2c-bfin-twi.c

index 39b8d77bf35c884965da60d741d157486b1d304d..f4fbbd211ddde8a4b2bfbfdd3d4c1c67b4299b9c 100644 (file)
@@ -78,11 +78,6 @@ DEFINE_TWI_REG(XMT_DATA16, 0x84)
 DEFINE_TWI_REG(RCV_DATA8, 0x88)
 DEFINE_TWI_REG(RCV_DATA16, 0x8C)
 
-static const u16 pin_req[2][3] = {
-       {P_TWI0_SCL, P_TWI0_SDA, 0},
-       {P_TWI1_SCL, P_TWI1_SDA, 0},
-};
-
 static void bfin_twi_handle_interrupt(struct bfin_twi_iface *iface,
                                        unsigned short twi_int_status)
 {
@@ -712,7 +707,8 @@ static int i2c_bfin_twi_probe(struct platform_device *pdev)
        p_adap->timeout = 5 * HZ;
        p_adap->retries = 3;
 
-       rc = peripheral_request_list(pin_req[pdev->id], "i2c-bfin-twi");
+       rc = peripheral_request_list((unsigned short *)pdev->dev.platform_data,
+                                       "i2c-bfin-twi");
        if (rc) {
                dev_err(&pdev->dev, "Can't setup pin mux!\n");
                goto out_error_pin_mux;
@@ -759,7 +755,7 @@ out_error_add_adapter:
        free_irq(iface->irq, iface);
 out_error_req_irq:
 out_error_no_irq:
-       peripheral_free_list(pin_req[pdev->id]);
+       peripheral_free_list((unsigned short *)pdev->dev.platform_data);
 out_error_pin_mux:
        iounmap(iface->regs_base);
 out_error_ioremap:
@@ -777,7 +773,7 @@ static int i2c_bfin_twi_remove(struct platform_device *pdev)
 
        i2c_del_adapter(&(iface->adap));
        free_irq(iface->irq, iface);
-       peripheral_free_list(pin_req[pdev->id]);
+       peripheral_free_list((unsigned short *)pdev->dev.platform_data);
        iounmap(iface->regs_base);
        kfree(iface);