* [PATCH/RFC] can: mcp251x: Allow pass IRQ flags through platform data. @ 2011-04-05 17:08 Enric Balletbo i Serra [not found] ` <1302023321-25182-1-git-send-email-eballetbo-VIneJrwqLopBDgjK7y7TUQ@public.gmane.org> 0 siblings, 1 reply; 5+ messages in thread From: Enric Balletbo i Serra @ 2011-04-05 17:08 UTC (permalink / raw) To: netdev, socketcan-core, wg; +Cc: Enric Balletbo i Serra When an interrupt occurs, the INT pin is driven low by the MCP251x controller (falling edge) but in some cases the INT pin can be connected to the MPU through a transistor or level translator which inverts this signal. In this case interrupt should be configured in rising edge. This patch adds support to pass the IRQ flags via mcp251x_platform_data. Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com> --- drivers/net/can/mcp251x.c | 3 ++- include/linux/can/platform/mcp251x.h | 2 ++ 2 files changed, 4 insertions(+), 1 deletions(-) diff --git a/drivers/net/can/mcp251x.c b/drivers/net/can/mcp251x.c index 7513c45..330140e 100644 --- a/drivers/net/can/mcp251x.c +++ b/drivers/net/can/mcp251x.c @@ -931,7 +931,8 @@ static int mcp251x_open(struct net_device *net) priv->tx_len = 0; ret = request_threaded_irq(spi->irq, NULL, mcp251x_can_ist, - IRQF_TRIGGER_FALLING, DEVICE_NAME, priv); + pdata->irq_flags ? pdata->irq_flags : IRQF_TRIGGER_FALLING, + DEVICE_NAME, priv); if (ret) { dev_err(&spi->dev, "failed to acquire irq %d\n", spi->irq); if (pdata->transceiver_enable) diff --git a/include/linux/can/platform/mcp251x.h b/include/linux/can/platform/mcp251x.h index 8e20540..089fe43 100644 --- a/include/linux/can/platform/mcp251x.h +++ b/include/linux/can/platform/mcp251x.h @@ -12,6 +12,7 @@ /** * struct mcp251x_platform_data - MCP251X SPI CAN controller platform data * @oscillator_frequency: - oscillator frequency in Hz + * @irq_flags: - IRQF configuration flags * @board_specific_setup: - called before probing the chip (power,reset) * @transceiver_enable: - called to power on/off the transceiver * @power_enable: - called to power on/off the mcp *and* the @@ -24,6 +25,7 @@ struct mcp251x_platform_data { unsigned long oscillator_frequency; + unsigned long irq_flags; int (*board_specific_setup)(struct spi_device *spi); int (*transceiver_enable)(int enable); int (*power_enable) (int enable); -- 1.7.0.4 ^ permalink raw reply related [flat|nested] 5+ messages in thread
[parent not found: <1302023321-25182-1-git-send-email-eballetbo-VIneJrwqLopBDgjK7y7TUQ@public.gmane.org>]
* Re: [PATCH/RFC] can: mcp251x: Allow pass IRQ flags through platform data. [not found] ` <1302023321-25182-1-git-send-email-eballetbo-VIneJrwqLopBDgjK7y7TUQ@public.gmane.org> @ 2011-04-06 6:47 ` Wolfgang Grandegger 2011-04-06 6:57 ` Marc Kleine-Budde ` (2 subsequent siblings) 3 siblings, 0 replies; 5+ messages in thread From: Wolfgang Grandegger @ 2011-04-06 6:47 UTC (permalink / raw) To: Enric Balletbo i Serra Cc: socketcan-core-0fE9KPoRgkgATYTw5x5z8w, netdev-u79uwXL29TY76Z2rM5mHXA On 04/05/2011 07:08 PM, Enric Balletbo i Serra wrote: > When an interrupt occurs, the INT pin is driven low by the > MCP251x controller (falling edge) but in some cases the INT > pin can be connected to the MPU through a transistor or level > translator which inverts this signal. In this case interrupt > should be configured in rising edge. > > This patch adds support to pass the IRQ flags via > mcp251x_platform_data. > > Signed-off-by: Enric Balletbo i Serra <eballetbo-VIneJrwqLopBDgjK7y7TUQ@public.gmane.org> Acked-by: Wolfgang Grandegger <wg-5Yr1BZd7O62+XT7JhA+gdA@public.gmane.org> Thanks, Wolfgang. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH/RFC] can: mcp251x: Allow pass IRQ flags through platform data. [not found] ` <1302023321-25182-1-git-send-email-eballetbo-VIneJrwqLopBDgjK7y7TUQ@public.gmane.org> 2011-04-06 6:47 ` Wolfgang Grandegger @ 2011-04-06 6:57 ` Marc Kleine-Budde 2011-04-06 7:14 ` Kurt Van Dijck 2011-04-06 19:24 ` David Miller 3 siblings, 0 replies; 5+ messages in thread From: Marc Kleine-Budde @ 2011-04-06 6:57 UTC (permalink / raw) To: Enric Balletbo i Serra Cc: socketcan-core-0fE9KPoRgkgATYTw5x5z8w, netdev-u79uwXL29TY76Z2rM5mHXA, wg-5Yr1BZd7O62+XT7JhA+gdA [-- Attachment #1.1: Type: text/plain, Size: 897 bytes --] On 04/05/2011 07:08 PM, Enric Balletbo i Serra wrote: > When an interrupt occurs, the INT pin is driven low by the > MCP251x controller (falling edge) but in some cases the INT > pin can be connected to the MPU through a transistor or level > translator which inverts this signal. In this case interrupt > should be configured in rising edge. > > This patch adds support to pass the IRQ flags via > mcp251x_platform_data. > > Signed-off-by: Enric Balletbo i Serra <eballetbo-VIneJrwqLopBDgjK7y7TUQ@public.gmane.org> looks good Acked-by: Marc Kleine-Budde <mkl-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org> -- Pengutronix e.K. | Marc Kleine-Budde | Industrial Linux Solutions | Phone: +49-231-2826-924 | Vertretung West/Dortmund | Fax: +49-5121-206917-5555 | Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de | [-- Attachment #1.2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 262 bytes --] [-- Attachment #2: Type: text/plain, Size: 188 bytes --] _______________________________________________ Socketcan-core mailing list Socketcan-core-0fE9KPoRgkgATYTw5x5z8w@public.gmane.org https://lists.berlios.de/mailman/listinfo/socketcan-core ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH/RFC] can: mcp251x: Allow pass IRQ flags through platform data. [not found] ` <1302023321-25182-1-git-send-email-eballetbo-VIneJrwqLopBDgjK7y7TUQ@public.gmane.org> 2011-04-06 6:47 ` Wolfgang Grandegger 2011-04-06 6:57 ` Marc Kleine-Budde @ 2011-04-06 7:14 ` Kurt Van Dijck 2011-04-06 19:24 ` David Miller 3 siblings, 0 replies; 5+ messages in thread From: Kurt Van Dijck @ 2011-04-06 7:14 UTC (permalink / raw) To: Enric Balletbo i Serra Cc: socketcan-core-0fE9KPoRgkgATYTw5x5z8w, netdev-u79uwXL29TY76Z2rM5mHXA, wg-5Yr1BZd7O62+XT7JhA+gdA On Tue, Apr 05, 2011 at 07:08:41PM +0200, Enric Balletbo i Serra wrote: > ret = request_threaded_irq(spi->irq, NULL, mcp251x_can_ist, > - IRQF_TRIGGER_FALLING, DEVICE_NAME, priv); > + pdata->irq_flags ? pdata->irq_flags : IRQF_TRIGGER_FALLING, > + DEVICE_NAME, priv); IMHO, doing like this looks just a tiny bit cleaner > + pdata->irq_flags ?: IRQF_TRIGGER_FALLING, > + DEVICE_NAME, priv); That's really the only remark :-) Regards, Kurt ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH/RFC] can: mcp251x: Allow pass IRQ flags through platform data. [not found] ` <1302023321-25182-1-git-send-email-eballetbo-VIneJrwqLopBDgjK7y7TUQ@public.gmane.org> ` (2 preceding siblings ...) 2011-04-06 7:14 ` Kurt Van Dijck @ 2011-04-06 19:24 ` David Miller 3 siblings, 0 replies; 5+ messages in thread From: David Miller @ 2011-04-06 19:24 UTC (permalink / raw) To: eballetbo-VIneJrwqLopBDgjK7y7TUQ Cc: socketcan-core-0fE9KPoRgkgATYTw5x5z8w, netdev-u79uwXL29TY76Z2rM5mHXA, wg-5Yr1BZd7O62+XT7JhA+gdA From: Enric Balletbo i Serra <eballetbo-VIneJrwqLopBDgjK7y7TUQ@public.gmane.org> Date: Tue, 5 Apr 2011 19:08:41 +0200 > When an interrupt occurs, the INT pin is driven low by the > MCP251x controller (falling edge) but in some cases the INT > pin can be connected to the MPU through a transistor or level > translator which inverts this signal. In this case interrupt > should be configured in rising edge. > > This patch adds support to pass the IRQ flags via > mcp251x_platform_data. > > Signed-off-by: Enric Balletbo i Serra <eballetbo-VIneJrwqLopBDgjK7y7TUQ@public.gmane.org> Applied, thanks. ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2011-04-06 19:24 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-04-05 17:08 [PATCH/RFC] can: mcp251x: Allow pass IRQ flags through platform data Enric Balletbo i Serra [not found] ` <1302023321-25182-1-git-send-email-eballetbo-VIneJrwqLopBDgjK7y7TUQ@public.gmane.org> 2011-04-06 6:47 ` Wolfgang Grandegger 2011-04-06 6:57 ` Marc Kleine-Budde 2011-04-06 7:14 ` Kurt Van Dijck 2011-04-06 19:24 ` David Miller
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).