5 struct corgissp_machinfo {
15 void corgi_ssp_set_machinfo(struct corgissp_machinfo *machinfo);
21 void corgi_bl_set_intensity(int intensity);
22 void spitz_bl_set_intensity(int intensity);
23 void akita_bl_set_intensity(int intensity);
26 * SharpSL Touchscreen Driver
29 unsigned long corgi_get_hsync_len(void);
30 unsigned long spitz_get_hsync_len(void);
31 void corgi_put_hsync(void);
32 void spitz_put_hsync(void);
33 void corgi_wait_hsync(void);
34 void spitz_wait_hsync(void);
37 * SharpSL Battery/PM Driver
40 struct sharpsl_charger_machinfo {
46 int (*status_acin)(void);
47 void (*discharge)(int);
48 void (*discharge1)(int);
50 void (*chargeled)(int);
51 void (*measure_temp)(int);
52 void (*presuspend)(void);
53 void (*postsuspend)(void);
54 unsigned long (*charger_wakeup)(void);
55 int (*should_wakeup)(unsigned int resume_on_alarm);
57 struct battery_thresh *bat_levels_noac;
58 struct battery_thresh *bat_levels_acin;
65 struct battery_thresh {
71 int ac_status; /* APM AC Present/Not Present */
72 int mainbat_status; /* APM Main Battery Status */
73 int mainbat_percent; /* Main Battery Percentage Charge */
74 int mainbat_voltage; /* Main Battery Voltage */
77 struct sharpsl_pm_status {
79 struct timer_list ac_timer;
80 struct timer_list chrg_full_timer;
83 #define CHRG_ERROR (-1)
89 #define SHARPSL_SUSPENDED (1 << 0) /* Device is Suspended */
90 #define SHARPSL_ALARM_ACTIVE (1 << 1) /* Alarm is for charging event (not user) */
91 #define SHARPSL_BL_LIMIT (1 << 2) /* Backlight Intensity Limited */
92 #define SHARPSL_APM_QUEUED (1 << 3) /* APM Event Queued */
93 #define SHARPSL_DO_OFFLINE_CHRG (1 << 4) /* Trigger the offline charger */
96 unsigned long charge_start_time;
97 struct sharpsl_charger_machinfo *machinfo;
98 struct battery_stat battstat;
101 extern struct sharpsl_pm_status sharpsl_pm;
102 extern struct battery_thresh spitz_battery_levels_acin[];
103 extern struct battery_thresh spitz_battery_levels_noac[];
105 #define READ_GPIO_BIT(x) (GPLR(x) & GPIO_bit(x))
107 #define SHARPSL_LED_ERROR 2
108 #define SHARPSL_LED_ON 1
109 #define SHARPSL_LED_OFF 0
111 #define CHARGE_ON() sharpsl_pm.machinfo->charge(1)
112 #define CHARGE_OFF() sharpsl_pm.machinfo->charge(0)
113 #define CHARGE_LED_ON() sharpsl_pm.machinfo->chargeled(SHARPSL_LED_ON)
114 #define CHARGE_LED_OFF() sharpsl_pm.machinfo->chargeled(SHARPSL_LED_OFF)
115 #define CHARGE_LED_ERR() sharpsl_pm.machinfo->chargeled(SHARPSL_LED_ERROR)
116 #define DISCHARGE_ON() sharpsl_pm.machinfo->discharge(1)
117 #define DISCHARGE_OFF() sharpsl_pm.machinfo->discharge(0)
118 #define STATUS_AC_IN() sharpsl_pm.machinfo->status_acin()
119 #define STATUS_BATT_LOCKED() READ_GPIO_BIT(sharpsl_pm.machinfo->gpio_batlock)
120 #define STATUS_CHRG_FULL() READ_GPIO_BIT(sharpsl_pm.machinfo->gpio_batfull)
121 #define STATUS_FATAL() READ_GPIO_BIT(sharpsl_pm.machinfo->gpio_fatal)