int is_key_checked = 0;
uint8_t keys_pressed;
- keys_pressed = __raw_readl(KPD_KEY_STATUS);
+ keys_pressed = __raw_readl((void __iomem __force *)KPD_KEY_STATUS);
if ((keys_pressed & default_press) | vol_down_keys_pressed)
is_key_checked = sprintf(buf, "%s\n", "PRESS");
else
static ssize_t store_reset_enable(struct device *dev, struct device_attribute
*devattr, const char *buf, size_t count)
{
- int ret, value;
+ int ret;
+ unsigned long value;
ret = kstrtoul(buf, 10, &value);
if (ret) {
unsigned short key = 0;
unsigned long value;
struct sci_keypad_t *sci_kpd = dev_id;
- unsigned long int_status = __raw_readl(KPD_INT_MASK_STATUS);
- unsigned long key_status = __raw_readl(KPD_KEY_STATUS);
+ unsigned long int_status = __raw_readl((void __iomem __force *)
+ KPD_INT_MASK_STATUS);
+ unsigned long key_status = __raw_readl((void __iomem __force *)
+ KPD_KEY_STATUS);
unsigned short *keycodes = sci_kpd->input_dev->keycode;
unsigned int row_shift = get_count_order(sci_kpd->cols);
int col, row;
- value = __raw_readl(KPD_INT_CLR);
+ value = __raw_readl((void __iomem __force *)KPD_INT_CLR);
value |= KPD_INT_ALL;
- __raw_writel(value, KPD_INT_CLR);
+ __raw_writel(value, (void __iomem __force *)KPD_INT_CLR);
if ((int_status & KPD_PRESS_INT0)) {
col = KPD_INT0_COL(key_status);
return IRQ_HANDLED;
}
#ifdef CONFIG_OF
-static struct sci_keypad_platdata *sci_keypad_parse_dt(
+static struct sci_keypad_platform_data *sci_keypad_parse_dt(
struct device *dev)
{
struct sci_keypad_platform_data *pdata;
int error;
unsigned long value;
unsigned int row_shift, keycodemax;
- struct device_node *np = pdev->dev.of_node;
if (pdev->dev.of_node && !pdata){
pdata = sci_keypad_parse_dt(&pdev->dev);
__keypad_enable();
- __raw_writel(KPD_INT_ALL, KPD_INT_CLR);
- __raw_writel(CFG_ROW_POLARITY | CFG_COL_POLARITY, KPD_POLARITY);
- __raw_writel(1, KPD_CLK_DIV_CNT);
- __raw_writel(0xc, KPD_LONG_KEY_CNT);
- __raw_writel(0x5, KPD_DEBOUNCE_CNT);
+ __raw_writel(KPD_INT_ALL, (void __iomem __force *)KPD_INT_CLR);
+ __raw_writel(CFG_ROW_POLARITY | CFG_COL_POLARITY,
+ (void __iomem __force *)KPD_POLARITY);
+ __raw_writel(1, (void __iomem __force *)KPD_CLK_DIV_CNT);
+ __raw_writel(0xc, (void __iomem __force *)KPD_LONG_KEY_CNT);
+ __raw_writel(0x5, (void __iomem __force *)KPD_DEBOUNCE_CNT);
sci_kpd->irq = platform_get_irq(pdev, 0);
if (sci_kpd->irq < 0) {
value = KPD_INT_DOWNUP;
if (pdata->support_long_key)
value |= KPD_INT_LONG;
- __raw_writel(value, KPD_INT_EN);
+ __raw_writel(value, (void __iomem __force *)KPD_INT_EN);
value = KPD_SLEEP_CNT_VALUE(1000);
- __raw_writel(value, KPD_SLEEP_CNT);
+ __raw_writel(value, (void __iomem __force *)KPD_SLEEP_CNT);
if (__keypad_controller_ver() == 0) {
if ((pdata->rows_choose_hw & ~KPDCTL_ROW_MSK_V0)
rows_choose_hw | pdata->cols_choose_hw;
if (pdata->support_long_key)
value |= KPD_LONG_KEY_EN;
- __raw_writel(value, KPD_CTRL);
+ __raw_writel(value, (void __iomem __force *)KPD_CTRL);
gpio_request(PB_INT, "powerkey");
gpio_direction_input(PB_INT);
struct sci_keypad_t *sci_kpd = platform_get_drvdata(pdev);
struct sci_keypad_platform_data *pdata = pdev->dev.platform_data;
/* disable sci keypad controller */
- __raw_writel(KPD_INT_ALL, KPD_INT_CLR);
- value = __raw_readl(KPD_CTRL);
+ __raw_writel(KPD_INT_ALL, (void __iomem __force *)KPD_INT_CLR);
+ value = __raw_readl((void __iomem __force *)KPD_CTRL);
value &= ~(1 << 0);
- __raw_writel(value, KPD_CTRL);
+ __raw_writel(value, (void __iomem __force *)KPD_CTRL);
__keypad_disable();
wake_lock_destroy(&sci_kpd->key_wake_lock);
unsigned long value;
__keypad_enable();
- __raw_writel(KPD_INT_ALL, KPD_INT_CLR);
- __raw_writel(CFG_ROW_POLARITY | CFG_COL_POLARITY, KPD_POLARITY);
- __raw_writel(1, KPD_CLK_DIV_CNT);
- __raw_writel(0xc, KPD_LONG_KEY_CNT);
- __raw_writel(0x5, KPD_DEBOUNCE_CNT);
+ __raw_writel(KPD_INT_ALL, (void __iomem __force *)KPD_INT_CLR);
+ __raw_writel(CFG_ROW_POLARITY | CFG_COL_POLARITY,
+ (void __iomem __force *)KPD_POLARITY);
+ __raw_writel(1, (void __iomem __force *)KPD_CLK_DIV_CNT);
+ __raw_writel(0xc, (void __iomem __force *)KPD_LONG_KEY_CNT);
+ __raw_writel(0x5, (void __iomem __force *)KPD_DEBOUNCE_CNT);
value = KPD_INT_DOWNUP;
if (pdata->support_long_key)
value |= KPD_INT_LONG;
- __raw_writel(value, KPD_INT_EN);
+ __raw_writel(value, (void __iomem __force *)KPD_INT_EN);
value = KPD_SLEEP_CNT_VALUE(1000);
- __raw_writel(value, KPD_SLEEP_CNT);
+ __raw_writel(value, (void __iomem __force *)KPD_SLEEP_CNT);
value =
KPD_EN | KPD_SLEEP_EN | pdata->
rows_choose_hw | pdata->cols_choose_hw;
if (pdata->support_long_key)
value |= KPD_LONG_KEY_EN;
- __raw_writel(value, KPD_CTRL);
+ __raw_writel(value, (void __iomem __force *)KPD_CTRL);
return 0;
}