Re: [Arm-netbook] getting allwinner SoC support upstream (was Re: Uploading linux (3.9.4-1))

2013-06-07 Thread Barry Song
2013/6/7 Olof Johansson :
> On Thu, Jun 6, 2013 at 8:13 AM, jonsm...@gmail.com  wrote:
>> On Wed, Jun 5, 2013 at 7:54 PM, luke.leighton  
>> wrote:
>>>  augh.  ok.  solutions.  what are the solutions here?
>>
>> Luke if you really want to fix this a good solution is to have
>> Allwinner join Linaro and provide an engineer to the Linaro effort.
>> That engineer will get educated on the right way to do kernel
>> development and he can pass that knowledge back to Allwinner each day
>> as he learns it.
>
> There's no need for anybody to join Linaro to contribute upstream.
> That's a crazy notion.

i do agree. i don't think there is any direct relationship between
linaro and upstream.
otherwise, we will be in pain as we are not linaro member too.

>
> Listen, Allwinner isn't working in a vacuum, believe it or not. I've
> talked to them, so has Arnd and other people working on ARM, including
> Maxime Ripard, who's been reimplementing upstream support for their
> platform. Everybody is interested in the right things happening, it's
> just a matter of figuring out how to do it. The right people are
> already talking.
>
>> Allwinner has expressed interest in the past in joining Linaro but the
>> price was too high. I believe there are cheaper options now for
>> joining. The benefits Allwinner receives from joining will far exceed
>> the cost of joining. The net result will likely be a reduction in the
>> amount they need to spend on in-house development since they will
>> learn how to better leverage other developer's work.
>
> Uh, you're listing the benefits of doing upstream work, not of joining Linaro.
>
>
> -Olof

thanks
barry


-- 
To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/CAGsJ_4wKgJTwZnJm7UEUVcNYLrWfWu1Gi0=09jqq1uxchj5...@mail.gmail.com



Re: [PATCH v2] gpio: rewrite U300 GPIO to use gpiolib

2011-09-07 Thread Barry Song
> -/* GPIO Pull-Up status */
> -#define DISABLE_PULL_UP  0
> -#define ENABLE_PULL_UP  1
> +#define U300_OUTPUT_LOW { \
> +       .output = true, \
> +       .outval = 0, \
> +}
>
> -#define GPIO_NOT_USED 0
> -#define GPIO_IN       1
> -#define GPIO_OUT      2
> +#define U300_OUTPUT_HIGH { \
> +       .output = true, \
> +       .outval = 1, \
> +}
>
> -struct u300_gpio_configuration_data {
> -       unsigned char pin_usage;
> -       unsigned char default_output_value;
> -       unsigned char pull_up;
> -};
>
>  /* Initial configuration */
> -const struct u300_gpio_configuration_data
> -u300_gpio_config[U300_GPIO_NUM_PORTS][U300_GPIO_PINS_PER_PORT] = {
> -#ifdef CONFIG_MACH_U300_BS335
> +static const struct __initdata u300_gpio_confdata
> +bs335_gpio_config[BS335_GPIO_NUM_PORTS][U300_GPIO_PINS_PER_PORT] = {
>        /* Port 0, pins 0-7 */
>        {
> -               {GPIO_IN,  DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP},
> -               {GPIO_OUT, DEFAULT_OUTPUT_HIGH,  DISABLE_PULL_UP},
> -               {GPIO_IN,  DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP},
> -               {GPIO_OUT, DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP},
> -               {GPIO_OUT, DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP},
> -               {GPIO_OUT, DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP},
> -               {GPIO_OUT, DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP},
> -               {GPIO_OUT, DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP}
> +               U300_FLOATING_INPUT,
> +               U300_OUTPUT_HIGH,
> +               U300_FLOATING_INPUT,
> +               U300_OUTPUT_LOW,
> +               U300_OUTPUT_LOW,
> +               U300_OUTPUT_LOW,
> +               U300_OUTPUT_LOW,
> +               U300_OUTPUT_LOW,
>        },
>        /* Port 1, pins 0-7 */
>        {
> -               {GPIO_OUT, DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP},
> -               {GPIO_OUT, DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP},
> -               {GPIO_OUT, DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP},
> -               {GPIO_IN,  DEFAULT_OUTPUT_LOW,    ENABLE_PULL_UP},
> -               {GPIO_IN,  DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP},
> -               {GPIO_OUT, DEFAULT_OUTPUT_HIGH,  DISABLE_PULL_UP},
> -               {GPIO_OUT, DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP},
> -               {GPIO_OUT, DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP}
> +               U300_OUTPUT_LOW,
> +               U300_OUTPUT_LOW,
> +               U300_OUTPUT_LOW,
> +               U300_PULL_UP_INPUT,
> +               U300_FLOATING_INPUT,
> +               U300_OUTPUT_HIGH,
> +               U300_OUTPUT_LOW,
> +               U300_OUTPUT_LOW,
>        },
>        /* Port 2, pins 0-7 */
>        {
> -               {GPIO_IN,  DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP},
> -               {GPIO_IN,  DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP},
> -               {GPIO_IN,  DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP},
> -               {GPIO_IN,  DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP},
> -               {GPIO_OUT, DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP},
> -               {GPIO_IN,  DEFAULT_OUTPUT_LOW,    ENABLE_PULL_UP},
> -               {GPIO_OUT, DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP},
> -               {GPIO_IN,  DEFAULT_OUTPUT_LOW,    ENABLE_PULL_UP}
> +               U300_FLOATING_INPUT,
> +               U300_FLOATING_INPUT,
> +               U300_FLOATING_INPUT,
> +               U300_FLOATING_INPUT,
> +               U300_OUTPUT_LOW,
> +               U300_PULL_UP_INPUT,
> +               U300_OUTPUT_LOW,
> +               U300_PULL_UP_INPUT,
>        },
>        /* Port 3, pins 0-7 */
>        {
> -               {GPIO_IN,  DEFAULT_OUTPUT_LOW,    ENABLE_PULL_UP},
> -               {GPIO_OUT, DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP},
> -               {GPIO_IN,  DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP},
> -               {GPIO_IN,  DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP},
> -               {GPIO_IN,  DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP},
> -               {GPIO_IN,  DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP},
> -               {GPIO_IN,  DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP},
> -               {GPIO_IN,  DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP}
> +               U300_PULL_UP_INPUT,
> +               U300_OUTPUT_LOW,
> +               U300_FLOATING_INPUT,
> +               U300_FLOATING_INPUT,
> +               U300_FLOATING_INPUT,
> +               U300_FLOATING_INPUT,
> +               U300_FLOATING_INPUT,
> +               U300_FLOATING_INPUT,
>        },
>        /* Port 4, pins 0-7 */
>        {
> -               {GPIO_IN,  DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP},
> -               {GPIO_IN,  DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP},
> -               {GPIO_IN,  DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP},
> -               {GPIO_IN,  DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP},
> -               {GPIO_IN,  DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP},
> -               {GPIO_IN,  DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP},
> -               {GPIO_IN,  DEFAULT_OUTPUT_LOW,   DISABLE_PULL_UP},
> -               {GPIO_IN,  DEFAULT_OUTPUT_