Lines Matching full:fn

254 const char *rmi_f01_get_product_ID(struct rmi_function *fn)  in rmi_f01_get_product_ID()  argument
256 struct f01_data *f01 = dev_get_drvdata(&fn->dev); in rmi_f01_get_product_ID()
382 static int rmi_f01_probe(struct rmi_function *fn) in rmi_f01_probe() argument
384 struct rmi_device *rmi_dev = fn->rmi_dev; in rmi_f01_probe()
389 u16 ctrl_base_addr = fn->fd.control_base_addr; in rmi_f01_probe()
393 if (fn->dev.of_node) { in rmi_f01_probe()
394 error = rmi_f01_of_probe(&fn->dev, pdata); in rmi_f01_probe()
399 f01 = devm_kzalloc(&fn->dev, sizeof(struct f01_data), GFP_KERNEL); in rmi_f01_probe()
410 error = rmi_read(rmi_dev, fn->fd.control_base_addr, in rmi_f01_probe()
413 dev_err(&fn->dev, "Failed to read F01 control: %d\n", error); in rmi_f01_probe()
435 dev_warn(&fn->dev, in rmi_f01_probe()
442 error = rmi_write(rmi_dev, fn->fd.control_base_addr, in rmi_f01_probe()
445 dev_err(&fn->dev, "Failed to write F01 control: %d\n", error); in rmi_f01_probe()
450 error = rmi_read(rmi_dev, fn->fd.data_base_addr + 1, &temp); in rmi_f01_probe()
452 dev_err(&fn->dev, "Failed to read Interrupt Status.\n"); in rmi_f01_probe()
456 error = rmi_f01_read_properties(rmi_dev, fn->fd.query_base_addr, in rmi_f01_probe()
459 dev_err(&fn->dev, "Failed to read F01 properties.\n"); in rmi_f01_probe()
463 dev_info(&fn->dev, "found RMI device, manufacturer: %s, product: %s, fw id: %d\n", in rmi_f01_probe()
482 dev_err(&fn->dev, in rmi_f01_probe()
491 dev_err(&fn->dev, in rmi_f01_probe()
507 dev_err(&fn->dev, in rmi_f01_probe()
516 dev_err(&fn->dev, in rmi_f01_probe()
537 dev_err(&fn->dev, in rmi_f01_probe()
546 dev_err(&fn->dev, in rmi_f01_probe()
554 error = rmi_read(rmi_dev, fn->fd.data_base_addr, &device_status); in rmi_f01_probe()
556 dev_err(&fn->dev, in rmi_f01_probe()
562 dev_err(&fn->dev, in rmi_f01_probe()
568 dev_set_drvdata(&fn->dev, f01); in rmi_f01_probe()
570 error = sysfs_create_group(&fn->rmi_dev->dev.kobj, &rmi_f01_attr_group); in rmi_f01_probe()
572 dev_warn(&fn->dev, "Failed to create sysfs group: %d\n", error); in rmi_f01_probe()
577 static void rmi_f01_remove(struct rmi_function *fn) in rmi_f01_remove() argument
580 sysfs_remove_group(&fn->rmi_dev->dev.kobj, &rmi_f01_attr_group); in rmi_f01_remove()
583 static int rmi_f01_config(struct rmi_function *fn) in rmi_f01_config() argument
585 struct f01_data *f01 = dev_get_drvdata(&fn->dev); in rmi_f01_config()
588 error = rmi_write(fn->rmi_dev, fn->fd.control_base_addr, in rmi_f01_config()
591 dev_err(&fn->dev, in rmi_f01_config()
597 error = rmi_write(fn->rmi_dev, f01->doze_interval_addr, in rmi_f01_config()
600 dev_err(&fn->dev, in rmi_f01_config()
605 error = rmi_write_block(fn->rmi_dev, in rmi_f01_config()
610 dev_err(&fn->dev, in rmi_f01_config()
618 error = rmi_write(fn->rmi_dev, f01->doze_holdoff_addr, in rmi_f01_config()
621 dev_err(&fn->dev, in rmi_f01_config()
630 static int rmi_f01_suspend(struct rmi_function *fn) in rmi_f01_suspend() argument
632 struct f01_data *f01 = dev_get_drvdata(&fn->dev); in rmi_f01_suspend()
640 if (device_may_wakeup(fn->rmi_dev->xport->dev)) in rmi_f01_suspend()
645 error = rmi_write(fn->rmi_dev, fn->fd.control_base_addr, in rmi_f01_suspend()
648 dev_err(&fn->dev, "Failed to write sleep mode: %d.\n", error); in rmi_f01_suspend()
659 static int rmi_f01_resume(struct rmi_function *fn) in rmi_f01_resume() argument
661 struct f01_data *f01 = dev_get_drvdata(&fn->dev); in rmi_f01_resume()
670 error = rmi_write(fn->rmi_dev, fn->fd.control_base_addr, in rmi_f01_resume()
673 dev_err(&fn->dev, in rmi_f01_resume()
683 struct rmi_function *fn = ctx; in rmi_f01_attention() local
684 struct rmi_device *rmi_dev = fn->rmi_dev; in rmi_f01_attention()
688 error = rmi_read(rmi_dev, fn->fd.data_base_addr, &device_status); in rmi_f01_attention()
690 dev_err(&fn->dev, in rmi_f01_attention()
696 dev_warn(&fn->dev, in rmi_f01_attention()
700 dev_warn(&fn->dev, "Device reset detected.\n"); in rmi_f01_attention()
703 dev_err(&fn->dev, "Device reset failed: %d\n", error); in rmi_f01_attention()