Lines Matching refs:fn

84 static int rmi_f30_read_control_parameters(struct rmi_function *fn,  in rmi_f30_read_control_parameters()  argument
89 error = rmi_read_block(fn->rmi_dev, fn->fd.control_base_addr, in rmi_f30_read_control_parameters()
92 dev_err(&fn->dev, in rmi_f30_read_control_parameters()
94 __func__, fn->fd.control_base_addr, error); in rmi_f30_read_control_parameters()
101 static void rmi_f30_report_button(struct rmi_function *fn, in rmi_f30_report_button() argument
114 rmi_dbg(RMI_DEBUG_FN, &fn->dev, in rmi_f30_report_button()
124 struct rmi_function *fn = ctx; in rmi_f30_attention() local
125 struct f30_data *f30 = dev_get_drvdata(&fn->dev); in rmi_f30_attention()
126 struct rmi_driver_data *drvdata = dev_get_drvdata(&fn->rmi_dev->dev); in rmi_f30_attention()
133 dev_warn(&fn->dev, in rmi_f30_attention()
142 error = rmi_read_block(fn->rmi_dev, fn->fd.data_base_addr, in rmi_f30_attention()
145 dev_err(&fn->dev, in rmi_f30_attention()
155 rmi_f30_report_button(fn, f30, i); in rmi_f30_attention()
163 static int rmi_f30_config(struct rmi_function *fn) in rmi_f30_config() argument
165 struct f30_data *f30 = dev_get_drvdata(&fn->dev); in rmi_f30_config()
166 struct rmi_driver *drv = fn->rmi_dev->driver; in rmi_f30_config()
168 rmi_get_platform_data(fn->rmi_dev); in rmi_f30_config()
177 f30->f03 = rmi_find_function(fn->rmi_dev, 0x03); in rmi_f30_config()
182 drv->clear_irq_bits(fn->rmi_dev, fn->irq_mask); in rmi_f30_config()
185 error = rmi_write_block(fn->rmi_dev, fn->fd.control_base_addr, in rmi_f30_config()
188 dev_err(&fn->dev, in rmi_f30_config()
190 __func__, fn->fd.control_base_addr, error); in rmi_f30_config()
194 drv->set_irq_bits(fn->rmi_dev, fn->irq_mask); in rmi_f30_config()
223 static int rmi_f30_map_gpios(struct rmi_function *fn, in rmi_f30_map_gpios() argument
227 rmi_get_platform_data(fn->rmi_dev); in rmi_f30_map_gpios()
235 f30->gpioled_key_map = devm_kcalloc(&fn->dev, in rmi_f30_map_gpios()
240 dev_err(&fn->dev, "Failed to allocate gpioled map memory.\n"); in rmi_f30_map_gpios()
273 static int rmi_f30_initialize(struct rmi_function *fn, struct f30_data *f30) in rmi_f30_initialize() argument
276 int control_address = fn->fd.control_base_addr; in rmi_f30_initialize()
280 error = rmi_read_block(fn->rmi_dev, fn->fd.query_base_addr, in rmi_f30_initialize()
283 dev_err(&fn->dev, "Failed to read query register\n"); in rmi_f30_initialize()
349 error = rmi_f30_read_control_parameters(fn, f30); in rmi_f30_initialize()
351 dev_err(&fn->dev, in rmi_f30_initialize()
358 error = rmi_f30_map_gpios(fn, f30); in rmi_f30_initialize()
366 static int rmi_f30_probe(struct rmi_function *fn) in rmi_f30_probe() argument
368 struct rmi_device *rmi_dev = fn->rmi_dev; in rmi_f30_probe()
379 dev_info(&fn->dev, "F30: no input device found, ignoring\n"); in rmi_f30_probe()
383 f30 = devm_kzalloc(&fn->dev, sizeof(*f30), GFP_KERNEL); in rmi_f30_probe()
389 error = rmi_f30_initialize(fn, f30); in rmi_f30_probe()
393 dev_set_drvdata(&fn->dev, f30); in rmi_f30_probe()