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

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'auxdisplay-for-linus-v5.15-rc1' of git://github.com/ojeda/linux

Pull auxdisplay updates from Miguel Ojeda:
"An assortment of improvements for auxdisplay:

- Replace symbolic permissions with octal permissions (Jinchao Wang)

- ks0108: Switch to use module_parport_driver() (Andy Shevchenko)

- charlcd: Drop unneeded initializers and switch to C99 style (Andy
Shevchenko)

- hd44780: Fix oops on module unloading (Lars Poeschel)

- Add I2C gpio expander example (Ralf Schlatterbeck)"

* tag 'auxdisplay-for-linus-v5.15-rc1' of git://github.com/ojeda/linux:
auxdisplay: Replace symbolic permissions with octal permissions
auxdisplay: ks0108: Switch to use module_parport_driver()
auxdisplay: charlcd: Drop unneeded initializers and switch to C99 style
auxdisplay: hd44780: Fix oops on module unloading
auxdisplay: Add I2C gpio expander example

+36 -21
+30 -1
Documentation/devicetree/bindings/auxdisplay/hit,hd44780.yaml
··· 12 12 description: 13 13 The Hitachi HD44780 Character LCD Controller is commonly used on character 14 14 LCDs that can display one or more lines of text. It exposes an M6800 bus 15 - interface, which can be used in either 4-bit or 8-bit mode. 15 + interface, which can be used in either 4-bit or 8-bit mode. By using a 16 + GPIO expander it is possible to use the driver with one of the popular I2C 17 + expander boards based on the PCF8574 available for these displays. For 18 + an example see below. 16 19 17 20 properties: 18 21 compatible: ··· 96 93 97 94 display-height-chars = <2>; 98 95 display-width-chars = <16>; 96 + }; 97 + - | 98 + #include <dt-bindings/gpio/gpio.h> 99 + i2c { 100 + #address-cells = <1>; 101 + #size-cells = <0>; 102 + 103 + pcf8574: pcf8574@27 { 104 + compatible = "nxp,pcf8574"; 105 + reg = <0x27>; 106 + gpio-controller; 107 + #gpio-cells = <2>; 108 + }; 109 + }; 110 + hd44780 { 111 + compatible = "hit,hd44780"; 112 + display-height-chars = <2>; 113 + display-width-chars = <16>; 114 + data-gpios = <&pcf8574 4 0>, 115 + <&pcf8574 5 0>, 116 + <&pcf8574 6 0>, 117 + <&pcf8574 7 0>; 118 + enable-gpios = <&pcf8574 2 0>; 119 + rs-gpios = <&pcf8574 0 0>; 120 + rw-gpios = <&pcf8574 1 0>; 121 + backlight-gpios = <&pcf8574 3 0>; 99 122 };
+1 -1
drivers/auxdisplay/cfag12864b.c
··· 33 33 */ 34 34 35 35 static unsigned int cfag12864b_rate = CONFIG_CFAG12864B_RATE; 36 - module_param(cfag12864b_rate, uint, S_IRUGO); 36 + module_param(cfag12864b_rate, uint, 0444); 37 37 MODULE_PARM_DESC(cfag12864b_rate, 38 38 "Refresh rate (hertz)"); 39 39
+1 -3
drivers/auxdisplay/charlcd.c
··· 637 637 } 638 638 639 639 static struct notifier_block panel_notifier = { 640 - panel_notify_sys, 641 - NULL, 642 - 0 640 + .notifier_call = panel_notify_sys, 643 641 }; 644 642 645 643 int charlcd_register(struct charlcd *lcd)
+1 -1
drivers/auxdisplay/hd44780.c
··· 323 323 { 324 324 struct charlcd *lcd = platform_get_drvdata(pdev); 325 325 326 - kfree(lcd->drvdata); 327 326 charlcd_unregister(lcd); 327 + kfree(lcd->drvdata); 328 328 329 329 kfree(lcd); 330 330 return 0;
+3 -15
drivers/auxdisplay/ks0108.c
··· 28 28 */ 29 29 30 30 static unsigned int ks0108_port = CONFIG_KS0108_PORT; 31 - module_param(ks0108_port, uint, S_IRUGO); 31 + module_param(ks0108_port, uint, 0444); 32 32 MODULE_PARM_DESC(ks0108_port, "Parallel port where the LCD is connected"); 33 33 34 34 static unsigned int ks0108_delay = CONFIG_KS0108_DELAY; 35 - module_param(ks0108_delay, uint, S_IRUGO); 35 + module_param(ks0108_delay, uint, 0444); 36 36 MODULE_PARM_DESC(ks0108_delay, "Delay between each control writing (microseconds)"); 37 37 38 38 /* ··· 167 167 .detach = ks0108_parport_detach, 168 168 .devmodel = true, 169 169 }; 170 - 171 - static int __init ks0108_init(void) 172 - { 173 - return parport_register_driver(&ks0108_parport_driver); 174 - } 175 - 176 - static void __exit ks0108_exit(void) 177 - { 178 - parport_unregister_driver(&ks0108_parport_driver); 179 - } 180 - 181 - module_init(ks0108_init); 182 - module_exit(ks0108_exit); 170 + module_parport_driver(ks0108_parport_driver); 183 171 184 172 MODULE_LICENSE("GPL v2"); 185 173 MODULE_AUTHOR("Miguel Ojeda <ojeda@kernel.org>");