On Tue, Jun 30, 2015 at 08:43:11AM +0200, Fabio Falzoi wrote:
> Use a helper function to set the correct write_register function, based
> on the width of the registers.
> 
> Signed-off-by: Fabio Falzoi <fabio.falzo...@gmail.com>
> ---
>  drivers/staging/fbtft/flexfb.c | 36 ++++++++++++++++++++++--------------
>  1 file changed, 22 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/staging/fbtft/flexfb.c b/drivers/staging/fbtft/flexfb.c
> index 25b394d..dae092a 100644
> --- a/drivers/staging/fbtft/flexfb.c
> +++ b/drivers/staging/fbtft/flexfb.c
> @@ -363,6 +363,25 @@ static int flexfb_chip_init(const struct device *dev)
>       return -EINVAL;
>  }
>  
> +static int flexfb_set_regwrite_func(const struct device *dev,
> +                                 struct fbtft_par *par)
> +{
> +     switch (regwidth) {
> +     case 8:
> +             par->fbtftops.write_register = fbtft_write_reg8_bus8;
> +             break;
> +     case 16:
> +             par->fbtftops.write_register = fbtft_write_reg16_bus8;
> +             break;
> +     default:
> +             dev_err(dev, "argument 'regwidth': %d is not supported.\n",
> +                     regwidth);
> +             return -EINVAL;
> +     }
> +
> +     return 0;
> +}
> +
>  static int flexfb_probe_common(struct spi_device *sdev,
>                              struct platform_device *pdev)
>  {
> @@ -413,20 +432,9 @@ static int flexfb_probe_common(struct spi_device *sdev,
>               par->init_sequence = initp;
>       par->fbtftops.init_display = fbtft_init_display;
>  
> -     /* registerwrite functions */
> -     switch (regwidth) {
> -     case 8:
> -             par->fbtftops.write_register = fbtft_write_reg8_bus8;
> -             break;
> -     case 16:
> -             par->fbtftops.write_register = fbtft_write_reg16_bus8;
> -             break;
> -     default:
> -             dev_err(dev,
> -                     "argument 'regwidth': %d is not supported.\n",
> -                     regwidth);
> -             return -EINVAL;
> -     }
> +     ret = flexfb_set_regwrite_func(dev, par);
> +     if (ret)
> +             goto out_release;
>  
>       /* bus functions */
>       if (sdev) {

Why?  You aren't calling this function anywhere else, so why move it?

thanks,

greg k-h
_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to