Re: [PATCH resend] Add sc16is7x2 driver

From: Greg KH
Date: Tue Oct 26 2010 - 10:50:42 EST


On Tue, Oct 26, 2010 at 10:55:24AM +0200, Manuel Stahl wrote:
> On 19.10.2010 17:37, Greg KH wrote:
>> On Mon, Oct 18, 2010 at 11:46:38AM +0200, Manuel Stahl wrote:
>>> On 15.10.2010 18:49, Greg KH wrote:
>>>> On Fri, Oct 15, 2010 at 05:09:03PM +0200, Manuel Stahl wrote:
>>>>> On 15.10.2010 16:27, Greg KH wrote:
>>>>>> On Fri, Oct 15, 2010 at 09:24:34AM +0200, Manuel Stahl wrote:
>>>>>>> On 14.10.2010 21:01, Greg KH wrote:
>>>>>>>> On Thu, Oct 07, 2010 at 10:15:07AM +0200, Manuel Stahl wrote:
>>>>>>>>> --- /dev/null
>>>>>>>>> +++ b/include/linux/spi/sc16is7x2.h
>>>>>>>>> @@ -0,0 +1,17 @@
>>>>>>>>> +#ifndef LINUX_SPI_SC16IS752_H
>>>>>>>>> +#define LINUX_SPI_SC16IS752_H
>>>>>>>>> +
>>>>>>>>> +#define SC16IS7X2_NR_GPIOS 8
>>>>>>>>> +
>>>>>>>>> +struct sc16is7x2_platform_data {
>>>>>>>>> + unsigned int uartclk;
>>>>>>>>> + /* uart line number of the first channel */
>>>>>>>>> + unsigned uart_base;
>>>>>>>>> + /* number assigned to the first GPIO */
>>>>>>>>> + unsigned gpio_base;
>>>>>>>>> + char *label;
>>>>>>>>> + /* list of GPIO names (array length = SC16IS7X2_NR_GPIOS) */
>>>>>>>>> + const char *const *names;
>>>>>>>>> +};
>>>>>>>>> +
>>>>>>>>> +#endif
>>>>>>>>
>>>>>>>> Why is this needed in a .h file? What other .c file uses this define
>>>>>>>> and structure?
>>>>>>>>
>>>>>>>> thanks,
>>>>>>>>
>>>>>>>> greg k-h
>>>>>>>
>>>>>>> The board setup code can pass information about the uart and gpio
>>>>>>> enumeration.
>>>>>>
>>>>>> What "board setup code"? I don't see that here in the patch anywhere.
>>>>>
>>>>> SPI devices are generally set up for a specific hardware board. I.e. for
>>>>> some ARM boards there is setup code in
>>>>> linux/arch/arm/mach-at91/board-<xyz>.c
>>>>>
>>>>> I use the sc16is7x2 for a board that is not yet in vanilla, so the board
>>>>> setup code is not included in the patch.
>>>>
>>>> Then why not add this header (or move it to the header file) when your
>>>> board setup code is merged? No need to have it there now, right?
>>>
>>> Cause everyone who want's to use this driver for his board needs the
>>> header. The board I use is a prototype, nearly the same as some
>>> Atmel Demo board, but with the sc16is752 attached to the SPI port.
>>> Therefore I don't see any benefit in publishing my board setup code.
>>
>> How nice, you are saying that we need a .h file in the kernel for no
>> other reason than to support out-of-tree code? Well, feel free to
>> resend this driver, and watch as the .h file is removed as it's not
>> needed by any in-tree code...
>
> OK, let's take an example: max3100
> This is the driver I took as a template. It consists of
> drivers/serial/max3100.c and include/linux/serial_max3100.h
>
> And huh, "grep -R serial_max3100.h *" gives what? Only max3100.c
> So do we need to remove serial_max3100.h as it's not used anywhere else?

Yup, that sounds like a great idea, I'll go queue up that patch when I
get back from my travels at the moment.

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/