From: Wolfgang Grandegger <wg@grandegger.com>
To: Marc Kleine-Budde <mkl@pengutronix.de>
Cc: s.grosjean@peak-system.com,
linux-can Mailing List <linux-can@vger.kernel.org>
Subject: Re: [PATCH v4] peak_pci: add support for PEAK-System PCIe/PCIeC/miniPCI cards
Date: Wed, 01 Feb 2012 17:14:59 +0100 [thread overview]
Message-ID: <4F296503.4030801@grandegger.com> (raw)
In-Reply-To: <4F2960EF.6000308@pengutronix.de>
On 02/01/2012 04:57 PM, Marc Kleine-Budde wrote:
> On 02/01/2012 04:55 PM, Stephane Grosjean wrote:
>> Le 01/02/2012 16:48, Marc Kleine-Budde a écrit :
>>> #if defined(CONFIG_I2C_ALGOBIT) || defined(CONFIG_I2C_ALGOBIT_MODULE)
>>> #define peak_pci_support_pcie() (1)
>>> #else
>>> #define peak_pci_support_pcie() (0)
>>> #endif
>>>
>>> In the probe function you can write:
>>>
>>> probe() {
>>> ...
>>>
>>> if (peak_pci_support_pcie()&&
>>> pdev->device == PEAK_PCIEC_DEVICE_ID) {
>>> ...
>>> }
>>> }
>>>
>>> There should be no ifdefs left in the code. One question remains, is the
>>> i2c core clever enough to define no-ops if the i2c subsystem is switched
>>> off?
>>> I just tried - :( - it doesn't work
>>>
>>> drivers/net/can/sja1000/peak_pci.c: In function
>>> 'peak_pciec_write_pca9553':
>>> drivers/net/can/sja1000/peak_pci.c:267: error: implicit declaration of
>>> function 'i2c_transfer'
>>> drivers/net/can/sja1000/peak_pci.c: In function 'peak_pciec_init':
>>> drivers/net/can/sja1000/peak_pci.c:491: error: implicit declaration of
>>> function 'i2c_del_adapter'
>>>
>>> Marc
>>
>> What about that:
>>
>>> #if defined(CONFIG_I2C_ALGOBIT) || defined(CONFIG_I2C_ALGOBIT_MODULE)
>>> #define peak_pci_support_pcie() (1)
>>> #else
>>> #define peak_pci_support_pcie() (0)
>> #define i2_transfer(a, b, c)
>> #define i2c_del_adapter(a)
Why that? I think there is some confusion.
>>> #endif
>
> This is an option, please make it static inline function, to have
> typechecking.
>
> Wolfgang, what do you think?
Yes, static inline functions please. I think we should have:
#if defined(CONFIG_I2C_ALGOBIT) || defined(CONFIG_I2C_ALGOBIT_MODULE)
/* or a real option selecting the LED support */
... one ifdef block with the real implementation ...
#else
static inline int peak_pciec_led_init(...) {return -EINVAL;}
static inline void peak_pciec_led_init(...) {}
#endif
In the rest of the code, only the above two functions should be used.
Should work, if I have not overlooked something.
Hope it's clear what I mean.
Wolfgang.
next prev parent reply other threads:[~2012-02-01 16:15 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-01 14:57 [PATCH v4] peak_pci: add support for PEAK-System PCIe/PCIeC/miniPCI cards Stephane Grosjean
2012-02-01 15:21 ` Marc Kleine-Budde
2012-02-01 15:34 ` Wolfgang Grandegger
2012-02-01 16:04 ` Stephane Grosjean
2012-02-01 16:19 ` Wolfgang Grandegger
2012-02-01 15:48 ` Marc Kleine-Budde
2012-02-01 15:55 ` Stephane Grosjean
2012-02-01 15:57 ` Marc Kleine-Budde
2012-02-01 16:12 ` Stephane Grosjean
2012-02-01 16:14 ` Wolfgang Grandegger [this message]
2012-02-01 16:37 ` Stephane Grosjean
2012-02-01 16:45 ` Wolfgang Grandegger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F296503.4030801@grandegger.com \
--to=wg@grandegger.com \
--cc=linux-can@vger.kernel.org \
--cc=mkl@pengutronix.de \
--cc=s.grosjean@peak-system.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).