summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorHu hui <b29976@freescale.com>2010-10-13 14:48:10 +0800
committerJustin Waters <justin.waters@timesys.com>2010-12-13 16:10:25 -0500
commit7c30fb67ad7757c03284436b380d244d8fac8609 (patch)
tree11f3077a37864021dbbdee183afd6c5747881568 /arch
parentc68c872deb6cf07d9e108e15cbd0d89cf141f1d5 (diff)
ENGR00132553-1 Power: enable power on/off key as suspend/resume key
MSL Part enable the powerkey as suspend/resume key on mx53evk and mx50 rdp Signed-off-by: Hu Hui <b29976@freescale.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-mx5/devices.c4
-rw-r--r--arch/arm/mach-mx5/devices.h1
-rw-r--r--arch/arm/mach-mx5/mx50_rdp.c2
-rw-r--r--arch/arm/mach-mx5/mx53_evk.c1
-rw-r--r--arch/arm/mach-mx5/mx53_evk_pmic_mc13892.c14
5 files changed, 7 insertions, 15 deletions
diff --git a/arch/arm/mach-mx5/devices.c b/arch/arm/mach-mx5/devices.c
index 5a4106c634aa..7685a83083c4 100644
--- a/arch/arm/mach-mx5/devices.c
+++ b/arch/arm/mach-mx5/devices.c
@@ -97,6 +97,10 @@ struct platform_device mxc_keypad_device = {
.resource = mxc_kpp_resources,
};
+struct platform_device mxc_powerkey_device = {
+ .name = "mxcpwrkey",
+ .id = 0,
+};
static struct resource rtc_resources[] = {
{
.start = SRTC_BASE_ADDR,
diff --git a/arch/arm/mach-mx5/devices.h b/arch/arm/mach-mx5/devices.h
index e3a73b0bd732..d1b7f8231756 100644
--- a/arch/arm/mach-mx5/devices.h
+++ b/arch/arm/mach-mx5/devices.h
@@ -27,6 +27,7 @@ extern struct platform_device mxc_usbdr_udc_device;
extern struct platform_device mxc_dma_device;
extern struct platform_device mxc_w1_master_device;
extern struct platform_device mxc_keypad_device;
+extern struct platform_device mxc_powerkey_device;
extern struct platform_device mxc_rtc_device;
extern struct platform_device mxc_nandv2_mtd_device;
extern struct platform_device imx_nfc_device;
diff --git a/arch/arm/mach-mx5/mx50_rdp.c b/arch/arm/mach-mx5/mx50_rdp.c
index 2c32c62af834..135388900675 100644
--- a/arch/arm/mach-mx5/mx50_rdp.c
+++ b/arch/arm/mach-mx5/mx50_rdp.c
@@ -1152,7 +1152,7 @@ static void __init mxc_board_init(void)
mxc_register_device(&mxs_viim, NULL);
mxc_register_device(&mxc_rngb_device, NULL);
mxc_register_device(&dcp_device, NULL);
-
+ mxc_register_device(&mxc_powerkey_device, NULL);
mx50_rdp_init_mc13892();
/*
pm_power_off = mxc_power_off;
diff --git a/arch/arm/mach-mx5/mx53_evk.c b/arch/arm/mach-mx5/mx53_evk.c
index d7ecaeef583a..562a0487b223 100644
--- a/arch/arm/mach-mx5/mx53_evk.c
+++ b/arch/arm/mach-mx5/mx53_evk.c
@@ -1672,6 +1672,7 @@ static void __init mxc_board_init(void)
*/
mxc_register_device(&mxc_sgtl5000_device, &sgtl5000_data);
mxc_register_device(&mxc_mlb_device, &mlb_data);
+ mxc_register_device(&mxc_powerkey_device, NULL);
mx5_set_otghost_vbus_func(mx53_gpio_usbotg_driver_vbus);
mx5_usb_dr_init();
mx5_set_host1_vbus_func(mx53_gpio_host1_driver_vbus);
diff --git a/arch/arm/mach-mx5/mx53_evk_pmic_mc13892.c b/arch/arm/mach-mx5/mx53_evk_pmic_mc13892.c
index 2d4a6103a621..6959751e9a9a 100644
--- a/arch/arm/mach-mx5/mx53_evk_pmic_mc13892.c
+++ b/arch/arm/mach-mx5/mx53_evk_pmic_mc13892.c
@@ -274,27 +274,13 @@ static struct regulator_init_data gpo4_init = {
}
};
-/*!
- * the event handler for power on event
- */
-static void power_on_evt_handler(void)
-{
- pr_info("pwr on event1 is received \n");
-}
-
static int mc13892_regulator_init(struct mc13892 *mc13892)
{
unsigned int value;
- pmic_event_callback_t power_key_event;
int register_mask;
pr_info("Initializing regulators for MX53 EVK \n");
- /* subscribe PWRON1 event to enable ON_OFF key */
- power_key_event.param = NULL;
- power_key_event.func = (void *)power_on_evt_handler;
- pmic_event_subscribe(EVENT_PWRONI, power_key_event);
-
/* Bit 4 DRM: keep VSRTC and CLK32KMCU on for all states */
#if defined(CONFIG_RTC_DRV_MXC_V2) || defined(CONFIG_RTC_DRV_MXC_V2_MODULE)
value = BITFVAL(DRM, 1);