diff options
Diffstat (limited to 'drivers/video/backlight/mbp_nvidia_bl.c')
| -rw-r--r-- | drivers/video/backlight/mbp_nvidia_bl.c | 55 | 
1 files changed, 52 insertions, 3 deletions
diff --git a/drivers/video/backlight/mbp_nvidia_bl.c b/drivers/video/backlight/mbp_nvidia_bl.c index 2e78b0784bd..1b5d3fe6bbb 100644 --- a/drivers/video/backlight/mbp_nvidia_bl.c +++ b/drivers/video/backlight/mbp_nvidia_bl.c @@ -139,6 +139,51 @@ static int mbp_dmi_match(const struct dmi_system_id *id)  static const struct dmi_system_id __initdata mbp_device_table[] = {  	{  		.callback	= mbp_dmi_match, +		.ident		= "MacBook 1,1", +		.matches	= { +			DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."), +			DMI_MATCH(DMI_PRODUCT_NAME, "MacBook1,1"), +		}, +		.driver_data	= (void *)&intel_chipset_data, +	}, +	{ +		.callback	= mbp_dmi_match, +		.ident		= "MacBook 2,1", +		.matches	= { +			DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."), +			DMI_MATCH(DMI_PRODUCT_NAME, "MacBook2,1"), +		}, +		.driver_data	= (void *)&intel_chipset_data, +	}, +	{ +		.callback	= mbp_dmi_match, +		.ident		= "MacBook 3,1", +		.matches	= { +			DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."), +			DMI_MATCH(DMI_PRODUCT_NAME, "MacBook3,1"), +		}, +		.driver_data	= (void *)&intel_chipset_data, +	}, +	{ +		.callback	= mbp_dmi_match, +		.ident		= "MacBook 4,1", +		.matches	= { +			DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."), +			DMI_MATCH(DMI_PRODUCT_NAME, "MacBook4,1"), +		}, +		.driver_data	= (void *)&intel_chipset_data, +	}, +	{ +		.callback	= mbp_dmi_match, +		.ident		= "MacBook 4,2", +		.matches	= { +			DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."), +			DMI_MATCH(DMI_PRODUCT_NAME, "MacBook4,2"), +		}, +		.driver_data	= (void *)&intel_chipset_data, +	}, +	{ +		.callback	= mbp_dmi_match,  		.ident		= "MacBookPro 3,1",  		.matches	= {  			DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."), @@ -250,6 +295,7 @@ static const struct dmi_system_id __initdata mbp_device_table[] = {  static int __init mbp_init(void)  { +	struct backlight_properties props;  	if (!dmi_check_system(mbp_device_table))  		return -ENODEV; @@ -257,14 +303,17 @@ static int __init mbp_init(void)  						"Macbook Pro backlight"))  		return -ENXIO; -	mbp_backlight_device = backlight_device_register("mbp_backlight", -					NULL, NULL, &driver_data->backlight_ops); +	memset(&props, 0, sizeof(struct backlight_properties)); +	props.max_brightness = 15; +	mbp_backlight_device = backlight_device_register("mbp_backlight", NULL, +							 NULL, +							 &driver_data->backlight_ops, +							 &props);  	if (IS_ERR(mbp_backlight_device)) {  		release_region(driver_data->iostart, driver_data->iolen);  		return PTR_ERR(mbp_backlight_device);  	} -	mbp_backlight_device->props.max_brightness = 15;  	mbp_backlight_device->props.brightness =  		driver_data->backlight_ops.get_brightness(mbp_backlight_device);  	backlight_update_status(mbp_backlight_device);  |