lkml.org 
[lkml]   [2014]   [Sep]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH 1/3 v2] GPIO: gpio-dwapb: Enable platform driver binding to MFD driver
    Date
    On Friday 05 September 2014 07:53:16 Weike Chen wrote:
    >
    > - irq_set_chained_handler(irq, dwapb_irq_handler);
    > - irq_set_handler_data(irq, gpio);
    > + if (!pp->irq_shared) {
    > + irq_set_chained_handler(pp->irq, dwapb_irq_handler);
    > + irq_set_handler_data(pp->irq, gpio);
    > + } else {
    > + /*
    > + * Request a shared IRQ since where MFD would have devices
    > + * using the same irq pin
    > + */
    > + err = devm_request_irq(gpio->dev, pp->irq,
    > + dwapb_irq_handler_mfd,
    > + IRQF_SHARED, "gpio-dwapb-mfd", gpio);
    > + if (err) {
    > + dev_err(gpio->dev, "error requesting IRQ\n");
    > + irq_domain_remove(gpio->domain);
    > + gpio->domain = NULL;
    > + return;
    > + }
    > + }
    >

    I think this need some better documentation. Why is it safe to use
    devm_request_irq rather than irq_set_chained_handler here?


    >
    > +#ifdef CONFIG_OF_GPIO
    > +
    > +static struct dwapb_platform_data *
    > +dwapb_gpio_get_pdata_of(struct device *dev)
    > +{
    > + struct device_node *node, *port_np;
    > + struct dwapb_platform_data *pdata;
    > + struct dwapb_port_property *pp;
    > + int nports;
    > + int i;
    > +
    > + node = dev->of_node;
    > + if (!node)
    > + return ERR_PTR(-ENODEV);

    Please replace the #ifdef above with

    if (!IS_ENABLED(CONFIG_OF_GPIO) || !node)

    here so get you proper compile-time coverage of the DT code path.

    Arnd


    \
     
     \ /
      Last update: 2014-09-05 14:21    [W:4.542 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site