Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branches 'ib-backlight-auxdisplay-staging-omap-6.9', 'ib-backlight-auxdisplay-hid-fb-6.9' and 'ib-backlight-hid-fbdev-lcd-scripts-6.10' into ibs-for-backlight-merged

+94 -119
-8
drivers/auxdisplay/ht16k33.c
··· 290 290 return ht16k33_brightness_set(priv, brightness); 291 291 } 292 292 293 - static int ht16k33_bl_check_fb(struct backlight_device *bl, struct fb_info *fi) 294 - { 295 - struct ht16k33_priv *priv = bl_get_data(bl); 296 - 297 - return (fi == NULL) || (fi->par == priv); 298 - } 299 - 300 293 static const struct backlight_ops ht16k33_bl_ops = { 301 294 .update_status = ht16k33_bl_update_status, 302 - .check_fb = ht16k33_bl_check_fb, 303 295 }; 304 296 305 297 /*
-7
drivers/hid/hid-picolcd_backlight.c
··· 9 9 10 10 #include <linux/hid.h> 11 11 12 - #include <linux/fb.h> 13 12 #include <linux/backlight.h> 14 13 15 14 #include "hid-picolcd.h" ··· 38 39 return 0; 39 40 } 40 41 41 - static int picolcd_check_bl_fb(struct backlight_device *bdev, struct fb_info *fb) 42 - { 43 - return fb && fb == picolcd_fbinfo((struct picolcd_data *)bl_get_data(bdev)); 44 - } 45 - 46 42 static const struct backlight_ops picolcd_blops = { 47 43 .update_status = picolcd_set_brightness, 48 44 .get_brightness = picolcd_get_brightness, 49 - .check_fb = picolcd_check_bl_fb, 50 45 }; 51 46 52 47 int picolcd_init_backlight(struct picolcd_data *data, struct hid_report *report)
+7 -7
drivers/hid/hid-picolcd_core.c
··· 474 474 if (error) 475 475 goto err; 476 476 477 - /* Set up the framebuffer device */ 478 - error = picolcd_init_framebuffer(data); 479 - if (error) 480 - goto err; 481 - 482 477 /* Setup lcd class device */ 483 478 error = picolcd_init_lcd(data, picolcd_out_report(REPORT_CONTRAST, hdev)); 484 479 if (error) ··· 481 486 482 487 /* Setup backlight class device */ 483 488 error = picolcd_init_backlight(data, picolcd_out_report(REPORT_BRIGHTNESS, hdev)); 489 + if (error) 490 + goto err; 491 + 492 + /* Set up the framebuffer device */ 493 + error = picolcd_init_framebuffer(data); 484 494 if (error) 485 495 goto err; 486 496 ··· 502 502 return 0; 503 503 err: 504 504 picolcd_exit_leds(data); 505 + picolcd_exit_framebuffer(data); 505 506 picolcd_exit_backlight(data); 506 507 picolcd_exit_lcd(data); 507 - picolcd_exit_framebuffer(data); 508 508 picolcd_exit_cir(data); 509 509 picolcd_exit_keys(data); 510 510 return error; ··· 623 623 /* Cleanup LED */ 624 624 picolcd_exit_leds(data); 625 625 /* Clean up the framebuffer */ 626 + picolcd_exit_framebuffer(data); 626 627 picolcd_exit_backlight(data); 627 628 picolcd_exit_lcd(data); 628 - picolcd_exit_framebuffer(data); 629 629 /* Cleanup input */ 630 630 picolcd_exit_cir(data); 631 631 picolcd_exit_keys(data);
+6
drivers/hid/hid-picolcd_fb.c
··· 493 493 info->fix = picolcdfb_fix; 494 494 info->fix.smem_len = PICOLCDFB_SIZE*8; 495 495 496 + #ifdef CONFIG_FB_BACKLIGHT 497 + #ifdef CONFIG_HID_PICOLCD_BACKLIGHT 498 + info->bl_dev = data->backlight; 499 + #endif 500 + #endif 501 + 496 502 fbdata = info->par; 497 503 spin_lock_init(&fbdata->lock); 498 504 fbdata->picolcd = data;
+1 -1
drivers/hid/hid-picolcd_lcd.c
··· 46 46 return fb && fb == picolcd_fbinfo((struct picolcd_data *)lcd_get_data(ldev)); 47 47 } 48 48 49 - static struct lcd_ops picolcd_lcdops = { 49 + static const struct lcd_ops picolcd_lcdops = { 50 50 .get_contrast = picolcd_get_contrast, 51 51 .set_contrast = picolcd_set_contrast, 52 52 .check_fb = picolcd_check_lcd_fb,
-7
drivers/video/backlight/aat2870_bl.c
··· 12 12 #include <linux/platform_device.h> 13 13 #include <linux/mutex.h> 14 14 #include <linux/delay.h> 15 - #include <linux/fb.h> 16 15 #include <linux/backlight.h> 17 16 #include <linux/mfd/aat2870.h> 18 17 ··· 89 90 return 0; 90 91 } 91 92 92 - static int aat2870_bl_check_fb(struct backlight_device *bd, struct fb_info *fi) 93 - { 94 - return 1; 95 - } 96 - 97 93 static const struct backlight_ops aat2870_bl_ops = { 98 94 .options = BL_CORE_SUSPENDRESUME, 99 95 .update_status = aat2870_bl_update_status, 100 - .check_fb = aat2870_bl_check_fb, 101 96 }; 102 97 103 98 static int aat2870_bl_probe(struct platform_device *pdev)
+1 -1
drivers/video/backlight/ams369fg06.c
··· 427 427 return ret; 428 428 } 429 429 430 - static struct lcd_ops ams369fg06_lcd_ops = { 430 + static const struct lcd_ops ams369fg06_lcd_ops = { 431 431 .get_power = ams369fg06_get_power, 432 432 .set_power = ams369fg06_set_power, 433 433 };
+6 -2
drivers/video/backlight/backlight.c
··· 98 98 { 99 99 struct backlight_device *bd; 100 100 struct fb_event *evdata = data; 101 - int node = evdata->info->node; 101 + struct fb_info *info = evdata->info; 102 + struct backlight_device *fb_bd = fb_bl_device(info); 103 + int node = info->node; 102 104 int fb_blank = 0; 103 105 104 106 /* If we aren't interested in this event, skip it immediately ... */ ··· 112 110 113 111 if (!bd->ops) 114 112 goto out; 115 - if (bd->ops->check_fb && !bd->ops->check_fb(bd, evdata->info)) 113 + if (bd->ops->controls_device && !bd->ops->controls_device(bd, info->device)) 114 + goto out; 115 + if (fb_bd && fb_bd != bd) 116 116 goto out; 117 117 118 118 fb_blank = *(int *)evdata->data;
+6 -6
drivers/video/backlight/bd6107.c
··· 99 99 return 0; 100 100 } 101 101 102 - static int bd6107_backlight_check_fb(struct backlight_device *backlight, 103 - struct fb_info *info) 102 + static bool bd6107_backlight_controls_device(struct backlight_device *backlight, 103 + struct device *display_dev) 104 104 { 105 105 struct bd6107 *bd = bl_get_data(backlight); 106 106 107 - return !bd->pdata->dev || bd->pdata->dev == info->device; 107 + return !bd->pdata->dev || bd->pdata->dev == display_dev; 108 108 } 109 109 110 110 static const struct backlight_ops bd6107_backlight_ops = { 111 - .options = BL_CORE_SUSPENDRESUME, 112 - .update_status = bd6107_backlight_update_status, 113 - .check_fb = bd6107_backlight_check_fb, 111 + .options = BL_CORE_SUSPENDRESUME, 112 + .update_status = bd6107_backlight_update_status, 113 + .controls_device = bd6107_backlight_controls_device, 114 114 }; 115 115 116 116 static int bd6107_probe(struct i2c_client *client)
+1 -1
drivers/video/backlight/corgi_lcd.c
··· 380 380 return lcd->power; 381 381 } 382 382 383 - static struct lcd_ops corgi_lcd_ops = { 383 + static const struct lcd_ops corgi_lcd_ops = { 384 384 .get_power = corgi_lcd_get_power, 385 385 .set_power = corgi_lcd_set_power, 386 386 .set_mode = corgi_lcd_set_mode,
+6 -6
drivers/video/backlight/gpio_backlight.c
··· 30 30 return 0; 31 31 } 32 32 33 - static int gpio_backlight_check_fb(struct backlight_device *bl, 34 - struct fb_info *info) 33 + static bool gpio_backlight_controls_device(struct backlight_device *bl, 34 + struct device *display_dev) 35 35 { 36 36 struct gpio_backlight *gbl = bl_get_data(bl); 37 37 38 - return !gbl->dev || gbl->dev == info->device; 38 + return !gbl->dev || gbl->dev == display_dev; 39 39 } 40 40 41 41 static const struct backlight_ops gpio_backlight_ops = { 42 - .options = BL_CORE_SUSPENDRESUME, 43 - .update_status = gpio_backlight_update_status, 44 - .check_fb = gpio_backlight_check_fb, 42 + .options = BL_CORE_SUSPENDRESUME, 43 + .update_status = gpio_backlight_update_status, 44 + .controls_device = gpio_backlight_controls_device, 45 45 }; 46 46 47 47 static int gpio_backlight_probe(struct platform_device *pdev)
+1 -1
drivers/video/backlight/hx8357.c
··· 559 559 return lcd->state; 560 560 } 561 561 562 - static struct lcd_ops hx8357_ops = { 562 + static const struct lcd_ops hx8357_ops = { 563 563 .set_power = hx8357_set_power, 564 564 .get_power = hx8357_get_power, 565 565 };
+1 -1
drivers/video/backlight/ili922x.c
··· 472 472 return ili->power; 473 473 } 474 474 475 - static struct lcd_ops ili922x_ops = { 475 + static const struct lcd_ops ili922x_ops = { 476 476 .get_power = ili922x_get_power, 477 477 .set_power = ili922x_set_power, 478 478 };
+1 -1
drivers/video/backlight/ili9320.c
··· 161 161 return lcd->power; 162 162 } 163 163 164 - static struct lcd_ops ili9320_ops = { 164 + static const struct lcd_ops ili9320_ops = { 165 165 .get_power = ili9320_get_power, 166 166 .set_power = ili9320_set_power, 167 167 };
+1 -1
drivers/video/backlight/jornada720_lcd.c
··· 81 81 return 0; 82 82 } 83 83 84 - static struct lcd_ops jornada_lcd_props = { 84 + static const struct lcd_ops jornada_lcd_props = { 85 85 .get_contrast = jornada_lcd_get_contrast, 86 86 .set_contrast = jornada_lcd_set_contrast, 87 87 .get_power = jornada_lcd_get_power,
+1 -1
drivers/video/backlight/l4f00242t03.c
··· 158 158 return 0; 159 159 } 160 160 161 - static struct lcd_ops l4f_ops = { 161 + static const struct lcd_ops l4f_ops = { 162 162 .set_power = l4f00242t03_lcd_power_set, 163 163 .get_power = l4f00242t03_lcd_power_get, 164 164 };
+2 -2
drivers/video/backlight/lcd.c
··· 188 188 * or a pointer to the newly allocated device. 189 189 */ 190 190 struct lcd_device *lcd_device_register(const char *name, struct device *parent, 191 - void *devdata, struct lcd_ops *ops) 191 + void *devdata, const struct lcd_ops *ops) 192 192 { 193 193 struct lcd_device *new_ld; 194 194 int rc; ··· 276 276 */ 277 277 struct lcd_device *devm_lcd_device_register(struct device *dev, 278 278 const char *name, struct device *parent, 279 - void *devdata, struct lcd_ops *ops) 279 + void *devdata, const struct lcd_ops *ops) 280 280 { 281 281 struct lcd_device **ptr, *lcd; 282 282
+1 -1
drivers/video/backlight/lms283gf05.c
··· 139 139 return 0; 140 140 } 141 141 142 - static struct lcd_ops lms_ops = { 142 + static const struct lcd_ops lms_ops = { 143 143 .set_power = lms283gf05_power_set, 144 144 .get_power = NULL, 145 145 };
+1 -1
drivers/video/backlight/lms501kf03.c
··· 304 304 return lms501kf03_power(lcd, power); 305 305 } 306 306 307 - static struct lcd_ops lms501kf03_lcd_ops = { 307 + static const struct lcd_ops lms501kf03_lcd_ops = { 308 308 .get_power = lms501kf03_get_power, 309 309 .set_power = lms501kf03_set_power, 310 310 };
+1 -1
drivers/video/backlight/ltv350qv.c
··· 217 217 return lcd->power; 218 218 } 219 219 220 - static struct lcd_ops ltv_ops = { 220 + static const struct lcd_ops ltv_ops = { 221 221 .get_power = ltv350qv_get_power, 222 222 .set_power = ltv350qv_set_power, 223 223 };
+6 -6
drivers/video/backlight/lv5207lp.c
··· 62 62 return 0; 63 63 } 64 64 65 - static int lv5207lp_backlight_check_fb(struct backlight_device *backlight, 66 - struct fb_info *info) 65 + static bool lv5207lp_backlight_controls_device(struct backlight_device *backlight, 66 + struct device *display_dev) 67 67 { 68 68 struct lv5207lp *lv = bl_get_data(backlight); 69 69 70 - return !lv->pdata->dev || lv->pdata->dev == info->device; 70 + return !lv->pdata->dev || lv->pdata->dev == display_dev; 71 71 } 72 72 73 73 static const struct backlight_ops lv5207lp_backlight_ops = { 74 - .options = BL_CORE_SUSPENDRESUME, 75 - .update_status = lv5207lp_backlight_update_status, 76 - .check_fb = lv5207lp_backlight_check_fb, 74 + .options = BL_CORE_SUSPENDRESUME, 75 + .update_status = lv5207lp_backlight_update_status, 76 + .controls_device = lv5207lp_backlight_controls_device, 77 77 }; 78 78 79 79 static int lv5207lp_probe(struct i2c_client *client)
+1 -1
drivers/video/backlight/otm3225a.c
··· 205 205 return dd->power; 206 206 } 207 207 208 - static struct lcd_ops otm3225a_ops = { 208 + static const struct lcd_ops otm3225a_ops = { 209 209 .set_power = otm3225a_set_power, 210 210 .get_power = otm3225a_get_power, 211 211 };
+1 -1
drivers/video/backlight/platform_lcd.c
··· 62 62 return plcd->us->parent == info->device; 63 63 } 64 64 65 - static struct lcd_ops platform_lcd_ops = { 65 + static const struct lcd_ops platform_lcd_ops = { 66 66 .get_power = platform_lcd_get_power, 67 67 .set_power = platform_lcd_set_power, 68 68 .check_fb = platform_lcd_match,
-12
drivers/video/backlight/pwm_bl.c
··· 11 11 #include <linux/kernel.h> 12 12 #include <linux/init.h> 13 13 #include <linux/platform_device.h> 14 - #include <linux/fb.h> 15 14 #include <linux/backlight.h> 16 15 #include <linux/err.h> 17 16 #include <linux/pwm.h> ··· 33 34 int brightness); 34 35 void (*notify_after)(struct device *, 35 36 int brightness); 36 - int (*check_fb)(struct device *, struct fb_info *); 37 37 void (*exit)(struct device *); 38 38 }; 39 39 ··· 127 129 return 0; 128 130 } 129 131 130 - static int pwm_backlight_check_fb(struct backlight_device *bl, 131 - struct fb_info *info) 132 - { 133 - struct pwm_bl_data *pb = bl_get_data(bl); 134 - 135 - return !pb->check_fb || pb->check_fb(pb->dev, info); 136 - } 137 - 138 132 static const struct backlight_ops pwm_backlight_ops = { 139 133 .update_status = pwm_backlight_update_status, 140 - .check_fb = pwm_backlight_check_fb, 141 134 }; 142 135 143 136 #ifdef CONFIG_OF ··· 471 482 472 483 pb->notify = data->notify; 473 484 pb->notify_after = data->notify_after; 474 - pb->check_fb = data->check_fb; 475 485 pb->exit = data->exit; 476 486 pb->dev = &pdev->dev; 477 487 pb->enabled = false;
+1 -1
drivers/video/backlight/tdo24m.c
··· 322 322 return lcd->adj_mode(lcd, mode); 323 323 } 324 324 325 - static struct lcd_ops tdo24m_ops = { 325 + static const struct lcd_ops tdo24m_ops = { 326 326 .get_power = tdo24m_get_power, 327 327 .set_power = tdo24m_set_power, 328 328 .set_mode = tdo24m_set_mode,
+1 -1
drivers/video/fbdev/clps711x-fb.c
··· 197 197 return 0; 198 198 } 199 199 200 - static struct lcd_ops clps711x_lcd_ops = { 200 + static const struct lcd_ops clps711x_lcd_ops = { 201 201 .check_fb = clps711x_lcd_check_fb, 202 202 .get_power = clps711x_lcd_get_power, 203 203 .set_power = clps711x_lcd_set_power,
+6
drivers/video/fbdev/core/fb_backlight.c
··· 30 30 mutex_unlock(&fb_info->bl_curve_mutex); 31 31 } 32 32 EXPORT_SYMBOL_GPL(fb_bl_default_curve); 33 + 34 + struct backlight_device *fb_bl_device(struct fb_info *info) 35 + { 36 + return info->bl_dev; 37 + } 38 + EXPORT_SYMBOL(fb_bl_device); 33 39 #endif
+1 -1
drivers/video/fbdev/imxfb.c
··· 857 857 return 0; 858 858 } 859 859 860 - static struct lcd_ops imxfb_lcd_ops = { 860 + static const struct lcd_ops imxfb_lcd_ops = { 861 861 .check_fb = imxfb_lcd_check_fb, 862 862 .get_contrast = imxfb_lcd_get_contrast, 863 863 .set_contrast = imxfb_lcd_set_contrast,
+1 -1
drivers/video/fbdev/omap/lcd_ams_delta.c
··· 76 76 return ams_delta_lcd & AMS_DELTA_MAX_CONTRAST; 77 77 } 78 78 79 - static struct lcd_ops ams_delta_lcd_ops = { 79 + static const struct lcd_ops ams_delta_lcd_ops = { 80 80 .get_power = ams_delta_lcd_get_power, 81 81 .set_power = ams_delta_lcd_set_power, 82 82 .get_contrast = ams_delta_lcd_get_contrast,
-7
drivers/video/fbdev/sh_mobile_lcdcfb.c
··· 2140 2140 return ch->bl_brightness; 2141 2141 } 2142 2142 2143 - static int sh_mobile_lcdc_check_fb(struct backlight_device *bdev, 2144 - struct fb_info *info) 2145 - { 2146 - return (info->bl_dev == bdev); 2147 - } 2148 - 2149 2143 static const struct backlight_ops sh_mobile_lcdc_bl_ops = { 2150 2144 .options = BL_CORE_SUSPENDRESUME, 2151 2145 .update_status = sh_mobile_lcdc_update_bl, 2152 2146 .get_brightness = sh_mobile_lcdc_get_brightness, 2153 - .check_fb = sh_mobile_lcdc_check_fb, 2154 2147 }; 2155 2148 2156 2149 static struct backlight_device *sh_mobile_lcdc_bl_probe(struct device *parent,
+11 -20
drivers/video/fbdev/ssd1307fb.c
··· 530 530 return par->contrast; 531 531 } 532 532 533 - static int ssd1307fb_check_fb(struct backlight_device *bdev, 534 - struct fb_info *info) 535 - { 536 - return (info->bl_dev == bdev); 537 - } 538 - 539 533 static const struct backlight_ops ssd1307fb_bl_ops = { 540 534 .options = BL_CORE_SUSPENDRESUME, 541 535 .update_status = ssd1307fb_update_bl, 542 536 .get_brightness = ssd1307fb_get_brightness, 543 - .check_fb = ssd1307fb_check_fb, 544 537 }; 545 538 546 539 static struct ssd1307fb_deviceinfo ssd1307fb_ssd1305_deviceinfo = { ··· 587 594 { 588 595 struct device *dev = &client->dev; 589 596 struct backlight_device *bl; 590 - char bl_name[12]; 591 597 struct fb_info *info; 592 598 struct fb_deferred_io *ssd1307fb_defio; 593 599 u32 vmem_size; ··· 725 733 if (ret) 726 734 goto regulator_enable_error; 727 735 728 - ret = register_framebuffer(info); 729 - if (ret) { 730 - dev_err(dev, "Couldn't register the framebuffer\n"); 731 - goto panel_init_error; 732 - } 733 - 734 - snprintf(bl_name, sizeof(bl_name), "ssd1307fb%d", info->node); 735 - bl = backlight_device_register(bl_name, dev, par, &ssd1307fb_bl_ops, 736 + bl = backlight_device_register("ssd1307fb-bl", dev, par, &ssd1307fb_bl_ops, 736 737 NULL); 737 738 if (IS_ERR(bl)) { 738 739 ret = PTR_ERR(bl); 739 740 dev_err(dev, "unable to register backlight device: %d\n", ret); 740 - goto bl_init_error; 741 + goto panel_init_error; 742 + } 743 + info->bl_dev = bl; 744 + 745 + ret = register_framebuffer(info); 746 + if (ret) { 747 + dev_err(dev, "Couldn't register the framebuffer\n"); 748 + goto fb_init_error; 741 749 } 742 750 743 751 bl->props.brightness = par->contrast; 744 752 bl->props.max_brightness = MAX_CONTRAST; 745 - info->bl_dev = bl; 746 753 747 754 dev_info(dev, "fb%d: %s framebuffer device registered, using %d bytes of video memory\n", info->node, info->fix.id, vmem_size); 748 755 749 756 return 0; 750 757 751 - bl_init_error: 752 - unregister_framebuffer(info); 758 + fb_init_error: 759 + backlight_device_unregister(bl); 753 760 panel_init_error: 754 761 pwm_disable(par->pwm); 755 762 pwm_put(par->pwm);
+8 -8
include/linux/backlight.h
··· 13 13 #include <linux/fb.h> 14 14 #include <linux/mutex.h> 15 15 #include <linux/notifier.h> 16 + #include <linux/types.h> 16 17 17 18 /** 18 19 * enum backlight_update_reason - what method was used to update backlight ··· 111 110 }; 112 111 113 112 struct backlight_device; 114 - struct fb_info; 115 113 116 114 /** 117 115 * struct backlight_ops - backlight operations ··· 160 160 int (*get_brightness)(struct backlight_device *); 161 161 162 162 /** 163 - * @check_fb: Check the framebuffer device. 163 + * @controls_device: Check against the display device 164 164 * 165 - * Check if given framebuffer device is the one bound to this backlight. 166 - * This operation is optional and if not implemented it is assumed that the 167 - * fbdev is always the one bound to the backlight. 165 + * Check if the backlight controls the given display device. This 166 + * operation is optional and if not implemented it is assumed that 167 + * the display is always the one controlled by the backlight. 168 168 * 169 169 * RETURNS: 170 170 * 171 - * If info is NULL or the info matches the fbdev bound to the backlight return true. 172 - * If info does not match the fbdev bound to the backlight return false. 171 + * If display_dev is NULL or display_dev matches the device controlled by 172 + * the backlight, return true. Otherwise return false. 173 173 */ 174 - int (*check_fb)(struct backlight_device *bd, struct fb_info *info); 174 + bool (*controls_device)(struct backlight_device *bd, struct device *display_dev); 175 175 }; 176 176 177 177 /**
+9
include/linux/fb.h
··· 738 738 extern void framebuffer_release(struct fb_info *info); 739 739 extern void fb_bl_default_curve(struct fb_info *fb_info, u8 off, u8 min, u8 max); 740 740 741 + #if IS_ENABLED(CONFIG_FB_BACKLIGHT) 742 + struct backlight_device *fb_bl_device(struct fb_info *info); 743 + #else 744 + static inline struct backlight_device *fb_bl_device(struct fb_info *info) 745 + { 746 + return NULL; 747 + } 748 + #endif 749 + 741 750 /* fbmon.c */ 742 751 #define FB_MAXTIMINGS 0 743 752 #define FB_VSYNCTIMINGS 1
+3 -3
include/linux/lcd.h
··· 61 61 points to something in the body of that driver, it is also invalid. */ 62 62 struct mutex ops_lock; 63 63 /* If this is NULL, the backing module is unloaded */ 64 - struct lcd_ops *ops; 64 + const struct lcd_ops *ops; 65 65 /* Serialise access to set_power method */ 66 66 struct mutex update_lock; 67 67 /* The framebuffer notifier block */ ··· 102 102 } 103 103 104 104 extern struct lcd_device *lcd_device_register(const char *name, 105 - struct device *parent, void *devdata, struct lcd_ops *ops); 105 + struct device *parent, void *devdata, const struct lcd_ops *ops); 106 106 extern struct lcd_device *devm_lcd_device_register(struct device *dev, 107 107 const char *name, struct device *parent, 108 - void *devdata, struct lcd_ops *ops); 108 + void *devdata, const struct lcd_ops *ops); 109 109 extern void lcd_device_unregister(struct lcd_device *ld); 110 110 extern void devm_lcd_device_unregister(struct device *dev, 111 111 struct lcd_device *ld);
-1
include/linux/pwm_backlight.h
··· 19 19 int (*notify)(struct device *dev, int brightness); 20 20 void (*notify_after)(struct device *dev, int brightness); 21 21 void (*exit)(struct device *dev); 22 - int (*check_fb)(struct device *dev, struct fb_info *info); 23 22 }; 24 23 25 24 #endif
+1
scripts/const_structs.checkpatch
··· 39 39 kgdb_io 40 40 kobj_type 41 41 kset_uevent_ops 42 + lcd_ops 42 43 lock_manager_operations 43 44 machine_desc 44 45 microcode_ops