static void fslepdc_create_proc_entries(void) { struct einkfb_info info; einkfb_get_info(&info); FB_DEVICE_CREATE_FILE(&info.dev->dev, &dev_attr_override_upd_mode); FB_DEVICE_CREATE_FILE(&info.dev->dev, &dev_attr_image_timings); if ( einkwf_panel_supports_vcom() ) FB_DEVICE_CREATE_FILE(&info.dev->dev, &dev_attr_vcom); }
void einkfb_shim_platform_init(struct einkfb_info *info) { // Hook into the suspend/resume mechanism. // FB_DEVICE_CREATE_FILE(&info->dev->dev, &dev_attr_test_suspend_resume); einkfb_set_suspend_resume_hook(einkfb_shim_suspend_resume_hook); // Say that we should put up a splash screen on reboot. // EINKFB_IOCTL(FBIO_EINK_SET_REBOOT_BEHAVIOR, reboot_screen_splash); // Bring up the logo if we should. // splash_screen_up = splash_screen_invalid; if ( show_logo ) splash_screen_dispatch(splash_screen_boot); }
static void broadsheet_create_proc_entries(void) { struct einkfb_info info; einkfb_get_info(&info); // Create Broadsheet-specific proc entries. // einkfb_proc_waveform_version = einkfb_create_proc_entry(EINKFB_PROC_WAVEFORM_VERSION, EINKFB_PROC_CHILD_R, waveform_version_read, NULL); einkfb_proc_commands_version = einkfb_create_proc_entry(EINKFB_PROC_COMMANDS_VERSION, EINKFB_PROC_CHILD_R, commands_version_read, NULL); einkfb_proc_recent_commands = einkfb_create_proc_entry(EINKFB_PROC_RECENT_COMMANDS, EINKFB_PROC_CHILD_R, recent_commands_read, NULL); einkfb_proc_temperature = einkfb_create_proc_entry(EINKFB_PROC_TEMPERATURE, EINKFB_PROC_CHILD_R, temperature_read, temperature_write); einkfb_proc_hardwarefb = einkfb_create_proc_entry(EINKFB_PROC_HARDWAREFB, EINKFB_PROC_CHILD_R, hardwarefb_read, NULL); einkfb_proc_eink_ram = einkfb_create_proc_entry(EINKFB_PROC_EINK_RAM, EINKFB_PROC_CHILD_RW, eink_ram_read, eink_ram_write); einkfb_proc_eink_reg = einkfb_create_proc_entry(EINKFB_PROC_EINK_REG, EINKFB_PROC_CHILD_W, NULL, eink_reg_write); if ( broadsheet_supports_flash() ) einkfb_proc_eink_rom = einkfb_create_proc_entry(EINKFB_PROC_EINK_ROM, (broadsheet_flash_is_readonly() ? EINKFB_PROC_CHILD_R : EINKFB_PROC_CHILD_RW), eink_rom_read, eink_rom_write); // Create Broadsheet-specific sysfs entries. // FB_DEVICE_CREATE_FILE(&info.dev->dev, &dev_attr_eink_ram_select); FB_DEVICE_CREATE_FILE(&info.dev->dev, &dev_attr_ignore_hw_ready); FB_DEVICE_CREATE_FILE(&info.dev->dev, &dev_attr_force_hw_not_ready); FB_DEVICE_CREATE_FILE(&info.dev->dev, &dev_attr_override_upd_mode); FB_DEVICE_CREATE_FILE(&info.dev->dev, &dev_attr_promote_flashing_updates); FB_DEVICE_CREATE_FILE(&info.dev->dev, &dev_attr_preflight_failure); FB_DEVICE_CREATE_FILE(&info.dev->dev, &dev_attr_image_timings); if ( broadsheet_supports_flash() ) { FB_DEVICE_CREATE_FILE(&info.dev->dev, &dev_attr_eink_rom_is_flash); FB_DEVICE_CREATE_FILE(&info.dev->dev, &dev_attr_eink_rom_select); } if ( broadsheet_supports_panel_bcd() ) FB_DEVICE_CREATE_FILE(&info.dev->dev, &dev_attr_panel_bcd); if ( broadsheet_supports_panel_id() ) FB_DEVICE_CREATE_FILE(&info.dev->dev, &dev_attr_panel_id); if ( broadsheet_supports_vcom() ) FB_DEVICE_CREATE_FILE(&info.dev->dev, &dev_attr_vcom); // External proc/sysfs entries. // if ( broadsheet_supports_eeprom_read() ) broadsheet_eeprom_create_proc_enteries(); if ( BS_HAS_PMIC() ) bs_pmic_create_proc_enteries(); }