* [PATCH] mfd: pcap: depend on arch-pxa
@ 2012-03-06 5:30 Haojian Zhuang
2012-03-14 14:32 ` Haojian Zhuang
2012-03-16 17:14 ` Samuel Ortiz
0 siblings, 2 replies; 3+ messages in thread
From: Haojian Zhuang @ 2012-03-06 5:30 UTC (permalink / raw)
To: linux-arm-kernel
drivers/mfd/ezx-pcap.c: In function ?pcap_isr_work?:
drivers/mfd/ezx-pcap.c:206:2: error: implicit declaration of function
?pxa_irq_to_gpio?
make[2]: *** [drivers/mfd/ezx-pcap.o] Error 1
PCAP driver invokes irq_to_gpio() directly. This function isn't common
function in most silicons. PCAP driver is enabled for EZX machine with
arch-pxa. Now use pxa_irq_to_gpio() instead.
It's only a workaround for this issue. Acutally the best solution is
using thread irq to fix this issue.
Signed-off-by: Haojian Zhuang <haojian.zhuang@gmail.com>
---
drivers/mfd/Kconfig | 2 +-
drivers/mfd/ezx-pcap.c | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
index f147395..e88d315 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -619,7 +619,7 @@ config AB3100_OTP
config EZX_PCAP
bool "PCAP Support"
- depends on GENERIC_HARDIRQS && SPI_MASTER
+ depends on GENERIC_HARDIRQS && SPI_MASTER && ARCH_PXA
help
This enables the PCAP ASIC present on EZX Phones. This is
needed for MMC, TouchScreen, Sound, USB, etc..
diff --git a/drivers/mfd/ezx-pcap.c b/drivers/mfd/ezx-pcap.c
index 43a76c4..e9320e2 100644
--- a/drivers/mfd/ezx-pcap.c
+++ b/drivers/mfd/ezx-pcap.c
@@ -18,6 +18,7 @@
#include <linux/mfd/ezx-pcap.h>
#include <linux/spi/spi.h>
#include <linux/gpio.h>
+#include <linux/gpio-pxa.h>
#include <linux/slab.h>
#define PCAP_ADC_MAXQ 8
@@ -202,7 +203,7 @@ static void pcap_isr_work(struct work_struct *work)
}
local_irq_enable();
ezx_pcap_write(pcap, PCAP_REG_MSR, pcap->msr);
- } while (gpio_get_value(irq_to_gpio(pcap->spi->irq)));
+ } while (gpio_get_value(pxa_irq_to_gpio(pcap->spi->irq)));
}
static void pcap_irq_handler(unsigned int irq, struct irq_desc *desc)
--
1.7.5.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH] mfd: pcap: depend on arch-pxa
2012-03-06 5:30 [PATCH] mfd: pcap: depend on arch-pxa Haojian Zhuang
@ 2012-03-14 14:32 ` Haojian Zhuang
2012-03-16 17:14 ` Samuel Ortiz
1 sibling, 0 replies; 3+ messages in thread
From: Haojian Zhuang @ 2012-03-14 14:32 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, Mar 6, 2012 at 1:30 PM, Haojian Zhuang <haojian.zhuang@gmail.com> wrote:
> drivers/mfd/ezx-pcap.c: In function ?pcap_isr_work?:
> drivers/mfd/ezx-pcap.c:206:2: error: implicit declaration of function
> ?pxa_irq_to_gpio?
> make[2]: *** [drivers/mfd/ezx-pcap.o] Error 1
>
> PCAP driver invokes irq_to_gpio() directly. This function isn't common
> function in most silicons. PCAP driver is enabled for EZX machine with
> arch-pxa. Now use pxa_irq_to_gpio() instead.
>
> It's only a workaround for this issue. Acutally the best solution is
> using thread irq to fix this issue.
>
> Signed-off-by: Haojian Zhuang <haojian.zhuang@gmail.com>
> ---
> ?drivers/mfd/Kconfig ? ?| ? ?2 +-
> ?drivers/mfd/ezx-pcap.c | ? ?3 ++-
> ?2 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
> index f147395..e88d315 100644
> --- a/drivers/mfd/Kconfig
> +++ b/drivers/mfd/Kconfig
> @@ -619,7 +619,7 @@ config AB3100_OTP
>
> ?config EZX_PCAP
> ? ? ? ?bool "PCAP Support"
> - ? ? ? depends on GENERIC_HARDIRQS && SPI_MASTER
> + ? ? ? depends on GENERIC_HARDIRQS && SPI_MASTER && ARCH_PXA
> ? ? ? ?help
> ? ? ? ? ?This enables the PCAP ASIC present on EZX Phones. This is
> ? ? ? ? ?needed for MMC, TouchScreen, Sound, USB, etc..
> diff --git a/drivers/mfd/ezx-pcap.c b/drivers/mfd/ezx-pcap.c
> index 43a76c4..e9320e2 100644
> --- a/drivers/mfd/ezx-pcap.c
> +++ b/drivers/mfd/ezx-pcap.c
> @@ -18,6 +18,7 @@
> ?#include <linux/mfd/ezx-pcap.h>
> ?#include <linux/spi/spi.h>
> ?#include <linux/gpio.h>
> +#include <linux/gpio-pxa.h>
> ?#include <linux/slab.h>
>
> ?#define PCAP_ADC_MAXQ ? ? ? ? ?8
> @@ -202,7 +203,7 @@ static void pcap_isr_work(struct work_struct *work)
> ? ? ? ? ? ? ? ?}
> ? ? ? ? ? ? ? ?local_irq_enable();
> ? ? ? ? ? ? ? ?ezx_pcap_write(pcap, PCAP_REG_MSR, pcap->msr);
> - ? ? ? } while (gpio_get_value(irq_to_gpio(pcap->spi->irq)));
> + ? ? ? } while (gpio_get_value(pxa_irq_to_gpio(pcap->spi->irq)));
> ?}
>
> ?static void pcap_irq_handler(unsigned int irq, struct irq_desc *desc)
> --
> 1.7.5.4
>
Hi Samuel,
How about this patch? Is it OK?
Best Regards
Haojian
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH] mfd: pcap: depend on arch-pxa
2012-03-06 5:30 [PATCH] mfd: pcap: depend on arch-pxa Haojian Zhuang
2012-03-14 14:32 ` Haojian Zhuang
@ 2012-03-16 17:14 ` Samuel Ortiz
1 sibling, 0 replies; 3+ messages in thread
From: Samuel Ortiz @ 2012-03-16 17:14 UTC (permalink / raw)
To: linux-arm-kernel
Hi Haojian,
On Tue, Mar 06, 2012 at 01:30:08PM +0800, Haojian Zhuang wrote:
> drivers/mfd/ezx-pcap.c: In function ?pcap_isr_work?:
> drivers/mfd/ezx-pcap.c:206:2: error: implicit declaration of function
> ?pxa_irq_to_gpio?
> make[2]: *** [drivers/mfd/ezx-pcap.o] Error 1
You get that error once you replace irq_to_gpio() with pxa_irq_to_gpio().
> PCAP driver invokes irq_to_gpio() directly. This function isn't common
> function in most silicons. PCAP driver is enabled for EZX machine with
> arch-pxa. Now use pxa_irq_to_gpio() instead.
>
> It's only a workaround for this issue. Acutally the best solution is
> using thread irq to fix this issue.
How would that fix the problem ? Defining irq_to_gpio for the PXA arch sounds
like a better option. I don't particularily like this patch as it restricts
the pcap driver quite a lot.
Would you be able to look at fixing the PXA gpio.h instead ?
Cheers,
Samuel.
--
Intel Open Source Technology Centre
http://oss.intel.com/
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-03-16 17:14 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-06 5:30 [PATCH] mfd: pcap: depend on arch-pxa Haojian Zhuang
2012-03-14 14:32 ` Haojian Zhuang
2012-03-16 17:14 ` Samuel Ortiz
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).