Re: [-mm patch 4/5] SharpSL: Abstract model specifics from Corgi Backlight driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux