Lines Matching +full:display +full:- +full:width +full:- +full:chars

1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Chassis LCD/LED driver for HP-PARISC workstations
8 * (c) Copyright 2000-2023 Helge Deller <deller@gmx.de>
52 lcd_cmd_reg_addr needs to be 64bit aligned on 64bit PA2.0-machines */
55 unsigned long lcd_width:16; /* width of the LCD in chars (DISPLAY_MODEL_LCD only) */
56 unsigned long lcd_cmd_reg_addr; /* ptr to LCD cmd-register & data ptr for LED */
57 unsigned long lcd_data_reg_addr; /* ptr to LCD data-register (LCD only) */
58 unsigned int min_cmd_delay; /* delay in uS after cmd-write (LCD only) */
74 /* lcd_info is pre-initialized to the values needed to program KittyHawk LCD's
93 /* ptr to LCD/LED-specific function */
125 * Displays the given string on the LCD-Display of newer machines.
129 /* copy display string to buffer for procfs */ in lcd_print()
143 * led_ASP_driver() - LED driver for the ASP controller chip
162 * led_LASI_driver() - LED driver for the LASI controller chip
173 * led_LCD_driver() - LED & LCD driver for LCD chips
196 gsc_writeb( blockp[i]->command, LCD_CMD_REG ); in led_LCD_driver()
199 gsc_writeb( leds & mask[i] ? blockp[i]->on : in led_LCD_driver()
200 blockp[i]->off, LCD_DATA_REG ); in led_LCD_driver()
265 unsigned char led_bit = p->led_bit; in set_led()
283 p = devm_kzalloc(&pdev->dev, sizeof(*p), GFP_KERNEL); in hppa_led_generic_probe()
285 return -ENOMEM; in hppa_led_generic_probe()
288 struct led_classdev *lp = &p->leds[i].led_cdev; in hppa_led_generic_probe()
290 p->leds[i].led_bit = BIT(i); in hppa_led_generic_probe()
291 lp->name = types[i].name; in hppa_led_generic_probe()
292 lp->brightness = LED_FULL; in hppa_led_generic_probe()
293 lp->brightness_set = types[i].handler; in hppa_led_generic_probe()
294 lp->default_trigger = types[i].default_trigger; in hppa_led_generic_probe()
295 err = led_classdev_register(&pdev->dev, lp); in hppa_led_generic_probe()
297 dev_err(&pdev->dev, "Could not register %s LED\n", in hppa_led_generic_probe()
298 lp->name); in hppa_led_generic_probe()
299 for (i--; i >= 0; i--) in hppa_led_generic_probe()
300 led_classdev_unregister(&p->leds[i].led_cdev); in hppa_led_generic_probe()
316 led_classdev_unregister(&p->leds[i].led_cdev); in platform_led_remove()
321 .name = "platform-lan-tx",
326 .name = "platform-lan-rx",
331 .name = "platform-disk",
333 .default_trigger = "disk-activity",
336 .name = "platform-heartbeat",
341 .name = "platform-LED4",
346 .name = "platform-LED5",
351 .name = "platform-LED6",
356 .name = "platform-LED7",
367 MODULE_ALIAS("platform:platform-leds");
373 .name = "platform-leds",
382 .name = "platform-leds",
393 * Only PDC-based, LASI- or ASP-style LEDs and LCDs are supported.
410 pr_info("led: LCD display at %#lx and %#lx\n", in register_led_driver()
422 pr_info("led: LED display at %#lx\n", LED_DATA_REG); in register_led_driver()
429 pr_info("led: LED (ASP-style) display at %#lx\n", in register_led_driver()
447 * early_led_init() is called early in the bootup-process and asks the
459 "Linux %s", init_utsname()->release); in early_led_init()
462 /* Work around the buggy PDC of KittyHawk-machines */ in early_led_init()
464 case 0x580: /* KittyHawk DC2-100 (K100) */ in early_led_init()
465 case 0x581: /* KittyHawk DC3-120 (K210) */ in early_led_init()
469 pr_info("LCD on KittyHawk-Machine found.\n"); in early_led_init()
491 case DISPLAY_MODEL_LCD: /* LCD display */ in early_led_init()
493 offsetof(struct pdc_chassis_lcd_info_ret_block, _pad)-1) in early_led_init()
504 case DISPLAY_MODEL_LASI: /* Lasi style 8 bit LED display */ in early_led_init()
525 * At bootup - where the initialisation of the LCD/LED often happens
527 * so that we delay the led-registration until after busdevices_init()