kscandat 72 drivers/input/keyboard/lpc32xx-keys.c static void lpc32xx_mod_states(struct lpc32xx_kscan_drv *kscandat, int col) kscandat 74 drivers/input/keyboard/lpc32xx-keys.c struct input_dev *input = kscandat->input; kscandat 78 drivers/input/keyboard/lpc32xx-keys.c key = readl(LPC32XX_KS_DATA(kscandat->kscan_base, col)); kscandat 79 drivers/input/keyboard/lpc32xx-keys.c changed = key ^ kscandat->lastkeystates[col]; kscandat 80 drivers/input/keyboard/lpc32xx-keys.c kscandat->lastkeystates[col] = key; kscandat 86 drivers/input/keyboard/lpc32xx-keys.c kscandat->row_shift); kscandat 87 drivers/input/keyboard/lpc32xx-keys.c keycode = kscandat->keymap[scancode]; kscandat 96 drivers/input/keyboard/lpc32xx-keys.c struct lpc32xx_kscan_drv *kscandat = dev_id; kscandat 99 drivers/input/keyboard/lpc32xx-keys.c for (i = 0; i < kscandat->matrix_sz; i++) kscandat 100 drivers/input/keyboard/lpc32xx-keys.c lpc32xx_mod_states(kscandat, i); kscandat 102 drivers/input/keyboard/lpc32xx-keys.c writel(1, LPC32XX_KS_IRQ(kscandat->kscan_base)); kscandat 104 drivers/input/keyboard/lpc32xx-keys.c input_sync(kscandat->input); kscandat 111 drivers/input/keyboard/lpc32xx-keys.c struct lpc32xx_kscan_drv *kscandat = input_get_drvdata(dev); kscandat 114 drivers/input/keyboard/lpc32xx-keys.c error = clk_prepare_enable(kscandat->clk); kscandat 118 drivers/input/keyboard/lpc32xx-keys.c writel(1, LPC32XX_KS_IRQ(kscandat->kscan_base)); kscandat 125 drivers/input/keyboard/lpc32xx-keys.c struct lpc32xx_kscan_drv *kscandat = input_get_drvdata(dev); kscandat 127 drivers/input/keyboard/lpc32xx-keys.c writel(1, LPC32XX_KS_IRQ(kscandat->kscan_base)); kscandat 128 drivers/input/keyboard/lpc32xx-keys.c clk_disable_unprepare(kscandat->clk); kscandat 132 drivers/input/keyboard/lpc32xx-keys.c struct lpc32xx_kscan_drv *kscandat) kscandat 146 drivers/input/keyboard/lpc32xx-keys.c kscandat->matrix_sz = rows; kscandat 147 drivers/input/keyboard/lpc32xx-keys.c kscandat->row_shift = get_count_order(columns); kscandat 149 drivers/input/keyboard/lpc32xx-keys.c of_property_read_u32(np, "nxp,debounce-delay-ms", &kscandat->deb_clks); kscandat 150 drivers/input/keyboard/lpc32xx-keys.c of_property_read_u32(np, "nxp,scan-delay-ms", &kscandat->scan_delay); kscandat 151 drivers/input/keyboard/lpc32xx-keys.c if (!kscandat->deb_clks || !kscandat->scan_delay) { kscandat 161 drivers/input/keyboard/lpc32xx-keys.c struct lpc32xx_kscan_drv *kscandat; kscandat 178 drivers/input/keyboard/lpc32xx-keys.c kscandat = devm_kzalloc(&pdev->dev, sizeof(*kscandat), kscandat 180 drivers/input/keyboard/lpc32xx-keys.c if (!kscandat) kscandat 183 drivers/input/keyboard/lpc32xx-keys.c error = lpc32xx_parse_dt(&pdev->dev, kscandat); kscandat 189 drivers/input/keyboard/lpc32xx-keys.c keymap_size = sizeof(kscandat->keymap[0]) * kscandat 190 drivers/input/keyboard/lpc32xx-keys.c (kscandat->matrix_sz << kscandat->row_shift); kscandat 191 drivers/input/keyboard/lpc32xx-keys.c kscandat->keymap = devm_kzalloc(&pdev->dev, keymap_size, GFP_KERNEL); kscandat 192 drivers/input/keyboard/lpc32xx-keys.c if (!kscandat->keymap) kscandat 195 drivers/input/keyboard/lpc32xx-keys.c kscandat->input = input = devm_input_allocate_device(&pdev->dev); kscandat 214 drivers/input/keyboard/lpc32xx-keys.c kscandat->matrix_sz, kscandat 215 drivers/input/keyboard/lpc32xx-keys.c kscandat->matrix_sz, kscandat 216 drivers/input/keyboard/lpc32xx-keys.c kscandat->keymap, kscandat->input); kscandat 222 drivers/input/keyboard/lpc32xx-keys.c input_set_drvdata(kscandat->input, kscandat); kscandat 224 drivers/input/keyboard/lpc32xx-keys.c kscandat->kscan_base = devm_ioremap_resource(&pdev->dev, res); kscandat 225 drivers/input/keyboard/lpc32xx-keys.c if (IS_ERR(kscandat->kscan_base)) kscandat 226 drivers/input/keyboard/lpc32xx-keys.c return PTR_ERR(kscandat->kscan_base); kscandat 229 drivers/input/keyboard/lpc32xx-keys.c kscandat->clk = devm_clk_get(&pdev->dev, NULL); kscandat 230 drivers/input/keyboard/lpc32xx-keys.c if (IS_ERR(kscandat->clk)) { kscandat 232 drivers/input/keyboard/lpc32xx-keys.c return PTR_ERR(kscandat->clk); kscandat 236 drivers/input/keyboard/lpc32xx-keys.c error = clk_prepare_enable(kscandat->clk); kscandat 240 drivers/input/keyboard/lpc32xx-keys.c writel(kscandat->deb_clks, LPC32XX_KS_DEB(kscandat->kscan_base)); kscandat 241 drivers/input/keyboard/lpc32xx-keys.c writel(kscandat->scan_delay, LPC32XX_KS_SCAN_CTL(kscandat->kscan_base)); kscandat 243 drivers/input/keyboard/lpc32xx-keys.c LPC32XX_KS_FAST_TST(kscandat->kscan_base)); kscandat 244 drivers/input/keyboard/lpc32xx-keys.c writel(kscandat->matrix_sz, kscandat 245 drivers/input/keyboard/lpc32xx-keys.c LPC32XX_KS_MATRIX_DIM(kscandat->kscan_base)); kscandat 246 drivers/input/keyboard/lpc32xx-keys.c writel(1, LPC32XX_KS_IRQ(kscandat->kscan_base)); kscandat 247 drivers/input/keyboard/lpc32xx-keys.c clk_disable_unprepare(kscandat->clk); kscandat 250 drivers/input/keyboard/lpc32xx-keys.c pdev->name, kscandat); kscandat 256 drivers/input/keyboard/lpc32xx-keys.c error = input_register_device(kscandat->input); kscandat 262 drivers/input/keyboard/lpc32xx-keys.c platform_set_drvdata(pdev, kscandat); kscandat 271 drivers/input/keyboard/lpc32xx-keys.c struct lpc32xx_kscan_drv *kscandat = platform_get_drvdata(pdev); kscandat 272 drivers/input/keyboard/lpc32xx-keys.c struct input_dev *input = kscandat->input; kscandat 278 drivers/input/keyboard/lpc32xx-keys.c writel(1, LPC32XX_KS_IRQ(kscandat->kscan_base)); kscandat 279 drivers/input/keyboard/lpc32xx-keys.c clk_disable_unprepare(kscandat->clk); kscandat 289 drivers/input/keyboard/lpc32xx-keys.c struct lpc32xx_kscan_drv *kscandat = platform_get_drvdata(pdev); kscandat 290 drivers/input/keyboard/lpc32xx-keys.c struct input_dev *input = kscandat->input; kscandat 297 drivers/input/keyboard/lpc32xx-keys.c retval = clk_prepare_enable(kscandat->clk); kscandat 299 drivers/input/keyboard/lpc32xx-keys.c writel(1, LPC32XX_KS_IRQ(kscandat->kscan_base));