Ejemplo n.º 1
0
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);    
}
Ejemplo n.º 2
0
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);
}
Ejemplo n.º 3
0
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();
}