Hi,

On Mon, Jun 17, 2013 at 05:13:34PM +0200, Sebastian Andrzej Siewior wrote:
> There is no need to hardcode the number of instances here. It is better to
> determine them at runtime. Even if the device provides two instances one
> might only want to use one of them.
> 
> Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
> ---
>  drivers/usb/musb/musb_dsps.c | 33 +++++++++++++++++++++++----------
>  1 file changed, 23 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/usb/musb/musb_dsps.c b/drivers/usb/musb/musb_dsps.c
> index d9ff390..0ac9934 100644
> --- a/drivers/usb/musb/musb_dsps.c
> +++ b/drivers/usb/musb/musb_dsps.c
> @@ -110,8 +110,6 @@ struct dsps_musb_wrapper {
>       /* miscellaneous stuff */
>       u32             musb_core_offset;
>       u8              poll_seconds;
> -     /* number of musb instances */
> -     u8              instances;
>  };
>  
>  /**
> @@ -124,6 +122,7 @@ struct dsps_glue {
>       struct timer_list timer[2];     /* otg_workaround timer */
>       unsigned long last_timer[2];    /* last timer data for each instance */
>       u32 __iomem *usb_ctrl[2];
> +     u8 instances;
>  };
>  
>  #define      DSPS_AM33XX_CONTROL_MODULE_PHYS_0       0x44e10620
> @@ -646,6 +645,23 @@ static int dsps_probe(struct platform_device *pdev)
>       }
>       platform_set_drvdata(pdev, glue);
>  
> +     i = 1;
> +     do {
> +             iomem = platform_get_resource(pdev, IORESOURCE_MEM, i);

IIRC this index starts at zero, no ? Meaning that this should be:

i = 0
do {
        iomem = platform_get_resource(pdev, IORESOURCE_MEM, i);
        if (!iomem)
                break;

        i++;
} while (true);

glue->instances = i + 1;

Also, why are you getting the resource and doing nothing with it ? Is it
just to figure out the amount of instances ? Isn't there a DT helper to
count how many child nodes a certain node has ?

-- 
balbi

Attachment: signature.asc
Description: Digital signature

Reply via email to