From 1635b4a01f1461fb33cb1f8b61d08b95ace56dda Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E5=AE=8B=E7=A7=80=E6=9D=B0?= Date: Tue, 17 Aug 2010 20:15:37 -0700 Subject: [PATCH] =?utf8?q?=E5=9C=A8=E4=BF=A1=E6=81=AF=E6=9C=BA=E4=B8=AD?= =?utf8?q?=E6=B7=BB=E5=8A=A0=E4=BA=86=E6=89=A9=E5=B1=95IO=E7=9A=84?= =?utf8?q?=E5=85=A8=E5=B1=80=E9=85=8D=E7=BD=AE=EF=BC=8C=E4=BF=AE=E6=94=B9i?= =?utf8?q?nit=E7=9A=84=E5=8A=A0=E8=BD=BD=E6=96=B9=E5=BC=8F=EF=BC=8C?= =?utf8?q?=E9=87=87=E7=94=A8subsys=5Finitcall=E7=9A=84=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- arch/arm/configs/rk2818_info_defconfig | 7 +++++-- drivers/gpio/tca6424.c | 7 ++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/arch/arm/configs/rk2818_info_defconfig b/arch/arm/configs/rk2818_info_defconfig index 848f138e8a1e..39d70141f7be 100644 --- a/arch/arm/configs/rk2818_info_defconfig +++ b/arch/arm/configs/rk2818_info_defconfig @@ -862,8 +862,11 @@ CONFIG_GPIOLIB=y # AC97 GPIO expanders: # # CONFIG_GPIO_PCA9554 is not set -CONFIG_EXPANDED_GPIO_NUM=0 -CONFIG_EXPANDED_GPIO_IRQ_NUM=0 +CONFIG_IOEXTEND_TCA6424=y +CONFIG_EXPANDED_GPIO_NUM=24 +CONFIG_EXPANDED_GPIO_IRQ_NUM=24 +CONFIG_SPI_FPGA_GPIO_NUM=0 +CONFIG_SPI_FPGA_GPIO_IRQ_NUM=0 # CONFIG_W1 is not set CONFIG_POWER_SUPPLY=y # CONFIG_POWER_SUPPLY_DEBUG is not set diff --git a/drivers/gpio/tca6424.c b/drivers/gpio/tca6424.c index ec7010708aa2..ba7d185076da 100755 --- a/drivers/gpio/tca6424.c +++ b/drivers/gpio/tca6424.c @@ -836,10 +836,10 @@ int tca6424_init_pintype(struct tca6424_chip *chip,struct i2c_client *client) } void tca6424_reset_itr(void) { + rk2818_mux_api_set(GPIOE_U1IR_I2C1_NAME, IOMUXA_GPIO1_A67); gpio_request(RK2818_PIN_PE6,NULL); gpio_request(RK2818_PIN_PE7,NULL); - rk2818_mux_api_set(GPIOE_U1IR_I2C1_NAME, IOMUXA_GPIO1_A67); gpio_direction_output(RK2818_PIN_PE6,GPIO_HIGH); gpio_direction_output(RK2818_PIN_PE7,GPIO_LOW); udelay(3); @@ -905,6 +905,7 @@ static int __devinit tca6424_probe(struct i2c_client *client,const struct i2c_de tca6424_gpio_irq_setup(chip); i2c_set_clientdata(client, chip); chip->client = client; + return 0; out_failed: @@ -957,13 +958,13 @@ static int __init tca6424_init(void) tmp=i2c_add_driver(&tca6424_driver); return 0; } +subsys_initcall(tca6424_init); + static void __exit tca6424_exit(void) { DBG(KERN_ALERT"**********tca6424_exit**********\n"); i2c_del_driver(&tca6424_driver); } - -module_init(tca6424_init); module_exit(tca6424_exit); MODULE_AUTHOR(" XXX XXX@rock-chips.com"); -- 2.34.1