On Tue, Sep 06, 2005 at 12:53:51PM +0100, Richard Purdie wrote:
> +/*
> + * Corgi/Spitz Backlight Power
> + */
> +int corgi_bl_max(void)
> +{
> +     if (machine_is_corgi() || machine_is_shepherd() || machine_is_husky()) 
> +             return 0x2e;
> +     return 0x3e;

Couldn't this be passed in cleanly via the device's platform data?

> +}
> +
> +void corgi_bl_set(int intensity)
> +{

Along with a function pointer for whatever's needed here for each
machine?

> +     if ((machine_is_corgi() || machine_is_shepherd() || machine_is_husky()) 
> +                     && (intensity > 0x10))
> +             intensity+=0x10;
> +
> +     /* Skip 0x20 as it will blank the display */
> +     if (intensity >= 0x20)
> +             intensity++;
> +
> +     /* Bits 0-4 are accessed via the SSP interface */
> +     corgi_ssp_blduty_set(intensity & 0x1f);
> +
> +     if (machine_is_corgi() || machine_is_shepherd() || machine_is_husky()) {
> +#ifdef CONFIG_PXA_SHARP_C7xx
> +             /* Bit 5 is via SCOOP */
> +             if (intensity & 0x0020)
> +                     set_scoop_gpio(&corgiscoop_device.dev, 
> CORGI_SCP_BACKLIGHT_CONT);
> +             else
> +                     reset_scoop_gpio(&corgiscoop_device.dev, 
> CORGI_SCP_BACKLIGHT_CONT);
> +#endif
> +     } else if (machine_is_spitz() || machine_is_borzoi()) {
> +#if defined(CONFIG_MACH_SPITZ) || defined(CONFIG_MACH_BORZOI)
> +             /* Bit 5 is via SCOOP */
> +             if (intensity & 0x0020)
> +                     reset_scoop_gpio(&spitzscoop2_device.dev, 
> SPITZ_SCP2_BACKLIGHT_CONT);
> +             else
> +                     set_scoop_gpio(&spitzscoop2_device.dev, 
> SPITZ_SCP2_BACKLIGHT_CONT);
> +
> +             if (intensity) 
> +                     set_scoop_gpio(&spitzscoop2_device.dev, 
> SPITZ_SCP2_BACKLIGHT_ON);
> +             else
> +                     reset_scoop_gpio(&spitzscoop2_device.dev, 
> SPITZ_SCP2_BACKLIGHT_ON);
> +#endif
> +     } else if (machine_is_akita()) {
> +#ifdef CONFIG_MACH_AKITA
> +             /* Bit 5 is via IO-Expander */
> +             if (intensity & 0x0020)
> +                     akita_reset_ioexp(&akitaioexp_device.dev, 
> AKITA_IOEXP_BACKLIGHT_CONT);
> +             else
> +                     akita_set_ioexp(&akitaioexp_device.dev, 
> AKITA_IOEXP_BACKLIGHT_CONT);
> +
> +             if (intensity) 
> +                     akita_set_ioexp(&akitaioexp_device.dev, 
> AKITA_IOEXP_BACKLIGHT_ON);
> +             else
> +                     akita_reset_ioexp(&akitaioexp_device.dev, 
> AKITA_IOEXP_BACKLIGHT_ON);
> +#endif
> +     }
> +}

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 Serial core
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to