From mboxrd@z Thu Jan 1 00:00:00 1970 From: arnd@arndb.de (Arnd Bergmann) Date: Wed, 16 May 2012 19:51:12 +0000 Subject: Compile err with raumfeld_defconfig In-Reply-To: <4FB26380.9050502@gmail.com> References: <1337066754-20520-1-git-send-email-jgq516@gmail.com> <4FB26380.9050502@gmail.com> Message-ID: <201205161951.12200.arnd@arndb.de> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Tuesday 15 May 2012, Daniel Mack wrote: > On 15.05.2012 09:25, jgq516 at gmail.com wrote: > > Hi, > > > > Does somebody notice this compile err with raumfeld_defconfig as follows? > > > > drivers/input/touchscreen/eeti_ts.c: In function 'eeti_ts_irq_active': > > drivers/input/touchscreen/eeti_ts.c:65:2: error: implicit declaration of function 'irq_to_gpio' > > Yes, this is being worked on. Thanks for noticing, though :) Does this work for you? 8<--- input/eeti_ts: pass gpio line in platform data irq_to_gpio() was removed, so we have to pass the gpio number separately. Without this patch, building raumfeld_defconfig results in: /home/arnd/linux-arm/drivers/input/touchscreen/eeti_ts.c: In function 'eeti_ts_irq_active': /home/arnd/linux-arm/drivers/input/touchscreen/eeti_ts.c:65:2: error: implicit declaration of function 'irq_to_gpio' [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors make[4]: *** [drivers/input/touchscreen/eeti_ts.o] Error 1 make[3]: *** [drivers/input/touchscreen] Error 2 make[2]: *** [drivers/input] Error 2 make[1]: *** [drivers] Error 2 make[1]: *** Waiting for unfinished jobs.... make: *** [sub-make] Error 2 Generated by script, please check manually Signed-off-by: Arnd Bergmann --- arch/arm/mach-pxa/raumfeld.c | 1 + drivers/input/touchscreen/eeti_ts.c | 8 +++++--- include/linux/input/eeti_ts.h | 1 + 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/arch/arm/mach-pxa/raumfeld.c b/arch/arm/mach-pxa/raumfeld.c index 5905ed1..9e1c4ea 100644 --- a/arch/arm/mach-pxa/raumfeld.c +++ b/arch/arm/mach-pxa/raumfeld.c @@ -953,6 +953,7 @@ static struct i2c_board_info raumfeld_connector_i2c_board_info __initdata = { static struct eeti_ts_platform_data eeti_ts_pdata = { .irq_active_high = 1, + .gpio = GPIO_TOUCH_IRQ, }; static struct i2c_board_info raumfeld_controller_i2c_board_info __initdata = { diff --git a/drivers/input/touchscreen/eeti_ts.c b/drivers/input/touchscreen/eeti_ts.c index 503c709..45dab18 100644 --- a/drivers/input/touchscreen/eeti_ts.c +++ b/drivers/input/touchscreen/eeti_ts.c @@ -48,7 +48,7 @@ struct eeti_ts_priv { struct input_dev *input; struct work_struct work; struct mutex mutex; - int irq, irq_active_high; + int irq, gpio, irq_active_high; }; #define EETI_TS_BITDEPTH (11) @@ -62,7 +62,7 @@ struct eeti_ts_priv { static inline int eeti_ts_irq_active(struct eeti_ts_priv *priv) { - return gpio_get_value(irq_to_gpio(priv->irq)) == priv->irq_active_high; + return gpio_get_value(priv->gpio) == priv->irq_active_high; } static void eeti_ts_read(struct work_struct *work) @@ -203,8 +203,10 @@ static int __devinit eeti_ts_probe(struct i2c_client *client, pdata = client->dev.platform_data; - if (pdata) + if (pdata) { + priv->gpio = pdata->gpio; priv->irq_active_high = pdata->irq_active_high; + } irq_flags = priv->irq_active_high ? IRQF_TRIGGER_RISING : IRQF_TRIGGER_FALLING; diff --git a/include/linux/input/eeti_ts.h b/include/linux/input/eeti_ts.h index f875b31..3404504 100644 --- a/include/linux/input/eeti_ts.h +++ b/include/linux/input/eeti_ts.h @@ -3,6 +3,7 @@ struct eeti_ts_platform_data { unsigned int irq_active_high; + unsigned int gpio; }; #endif /* LINUX_INPUT_EETI_TS_H */ -- 1.7.10