lkml.org 
[lkml]   [2009]   [Oct]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] leds-alix2: add support for button connected to J15
    Hi Daniel,

    On Fri, Oct 16, 2009 at 03:03:15PM +0200, Daniel Mack wrote:
    >
    > +#ifdef CONFIG_LEDS_ALIX2_BUTTON
    > +static void alix_button_poll(struct input_polled_dev *ipdev)
    > +{
    > + unsigned int val = !(inl(gpio_base + 0x30) & (1 << 1));
    > +
    > + if (val == alix_button_last)
    > + return;

    You can probably let input core filter out duplicate events...
    > +
    > + input_report_key(ipdev->input, BTN_MISC, val);

    BTN_MISC is expected to be used by joysticks or poniting devices, I'd
    recomment KEY_PROG1 for a key.

    > + input_sync(ipdev->input);
    > + alix_button_last = val;
    > +}
    > +#endif
    > +
    > static int __init alix_led_probe(struct platform_device *pdev)
    > {
    > int i;
    > @@ -89,6 +110,35 @@ static int __init alix_led_probe(struct platform_device *pdev)
    > if (ret < 0)
    > goto fail;
    > }
    > +
    > +#ifdef CONFIG_LEDS_ALIX2_BUTTON
    > + /* enable button input */
    > + outl(1 << 1, gpio_base + 0x20);
    > +
    > + /* enable pullup on input pin */
    > + outl(1 << 1, gpio_base + 0x18);
    > +
    > + alix_button_last = 0;
    > + ipdev = input_allocate_polled_device();
    > + if (!ipdev)
    > + goto fail;
    > +
    > + ipdev->poll = alix_button_poll;
    > + ipdev->poll_interval = POLL_INTERVAL_DEFAULT;
    > + ipdev->input->name = "ALIX2 button";
    > + ipdev->input->phys = "alix2/input0";
    > + ipdev->input->id.bustype = BUS_HOST;
    > +
    > + set_bit(EV_KEY, ipdev->input->evbit);
    > + ipdev->input->keybit[BIT_WORD(BTN_MISC)] = BIT_MASK(BTN_MISC);
    > +
    > + ret = input_register_polled_device(ipdev);
    > + if (ret) {
    > + input_free_polled_device(ipdev);
    > + goto fail;
    > + }
    > +#endif

    Fells like you want to make it a function (and a stub if not
    configured)...

    --
    Dmitry


    \
     
     \ /
      Last update: 2009-10-18 09:31    [W:0.023 / U:0.212 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site