Lines Matching refs:ibm

745 	struct ibm_struct *ibm = data;  in dispatch_acpi_notify()  local
750 if (!ibm || !ibm->acpi || !ibm->acpi->notify) in dispatch_acpi_notify()
753 ibm->acpi->notify(ibm, event); in dispatch_acpi_notify()
756 static int __init setup_acpi_notify(struct ibm_struct *ibm) in setup_acpi_notify() argument
761 BUG_ON(!ibm->acpi); in setup_acpi_notify()
763 if (!*ibm->acpi->handle) in setup_acpi_notify()
767 "setting up ACPI notify for %s\n", ibm->name); in setup_acpi_notify()
769 rc = acpi_bus_get_device(*ibm->acpi->handle, &ibm->acpi->device); in setup_acpi_notify()
771 pr_err("acpi_bus_get_device(%s) failed: %d\n", ibm->name, rc); in setup_acpi_notify()
775 ibm->acpi->device->driver_data = ibm; in setup_acpi_notify()
776 sprintf(acpi_device_class(ibm->acpi->device), "%s/%s", in setup_acpi_notify()
778 ibm->name); in setup_acpi_notify()
780 status = acpi_install_notify_handler(*ibm->acpi->handle, in setup_acpi_notify()
781 ibm->acpi->type, dispatch_acpi_notify, ibm); in setup_acpi_notify()
785 "handling %s events\n", ibm->name); in setup_acpi_notify()
788 ibm->name, acpi_format_exception(status)); in setup_acpi_notify()
792 ibm->flags.acpi_notify_installed = 1; in setup_acpi_notify()
801 static int __init register_tpacpi_subdriver(struct ibm_struct *ibm) in register_tpacpi_subdriver() argument
806 "registering %s as an ACPI driver\n", ibm->name); in register_tpacpi_subdriver()
808 BUG_ON(!ibm->acpi); in register_tpacpi_subdriver()
810 ibm->acpi->driver = kzalloc(sizeof(struct acpi_driver), GFP_KERNEL); in register_tpacpi_subdriver()
811 if (!ibm->acpi->driver) { in register_tpacpi_subdriver()
816 sprintf(ibm->acpi->driver->name, "%s_%s", TPACPI_NAME, ibm->name); in register_tpacpi_subdriver()
817 ibm->acpi->driver->ids = ibm->acpi->hid; in register_tpacpi_subdriver()
819 ibm->acpi->driver->ops.add = &tpacpi_device_add; in register_tpacpi_subdriver()
821 rc = acpi_bus_register_driver(ibm->acpi->driver); in register_tpacpi_subdriver()
824 ibm->name, rc); in register_tpacpi_subdriver()
825 kfree(ibm->acpi->driver); in register_tpacpi_subdriver()
826 ibm->acpi->driver = NULL; in register_tpacpi_subdriver()
828 ibm->flags.acpi_driver_registered = 1; in register_tpacpi_subdriver()
844 struct ibm_struct *ibm = m->private; in dispatch_proc_show() local
846 if (!ibm || !ibm->read) in dispatch_proc_show()
848 return ibm->read(m); in dispatch_proc_show()
860 struct ibm_struct *ibm = PDE_DATA(file_inode(file)); in dispatch_proc_write() local
864 if (!ibm || !ibm->write) in dispatch_proc_write()
880 ret = ibm->write(kernbuf); in dispatch_proc_write()
933 struct ibm_struct *ibm, *itmp; in tpacpi_suspend_handler() local
935 list_for_each_entry_safe(ibm, itmp, in tpacpi_suspend_handler()
938 if (ibm->suspend) in tpacpi_suspend_handler()
939 (ibm->suspend)(); in tpacpi_suspend_handler()
947 struct ibm_struct *ibm, *itmp; in tpacpi_resume_handler() local
949 list_for_each_entry_safe(ibm, itmp, in tpacpi_resume_handler()
952 if (ibm->resume) in tpacpi_resume_handler()
953 (ibm->resume)(); in tpacpi_resume_handler()
965 struct ibm_struct *ibm, *itmp; in tpacpi_shutdown_handler() local
967 list_for_each_entry_safe(ibm, itmp, in tpacpi_shutdown_handler()
970 if (ibm->shutdown) in tpacpi_shutdown_handler()
971 (ibm->shutdown)(); in tpacpi_shutdown_handler()
3872 static void hotkey_notify(struct ibm_struct *ibm, u32 event) in hotkey_notify() argument
3883 ibm->acpi->device->pnp.device_class, in hotkey_notify()
3884 dev_name(&ibm->acpi->device->dev), in hotkey_notify()
3969 ibm->acpi->device->pnp.device_class, in hotkey_notify()
3970 dev_name(&ibm->acpi->device->dev), in hotkey_notify()
8876 static void ibm_exit(struct ibm_struct *ibm) in ibm_exit() argument
8878 dbg_printk(TPACPI_DBG_EXIT, "removing %s\n", ibm->name); in ibm_exit()
8880 list_del_init(&ibm->all_drivers); in ibm_exit()
8882 if (ibm->flags.acpi_notify_installed) { in ibm_exit()
8884 "%s: acpi_remove_notify_handler\n", ibm->name); in ibm_exit()
8885 BUG_ON(!ibm->acpi); in ibm_exit()
8886 acpi_remove_notify_handler(*ibm->acpi->handle, in ibm_exit()
8887 ibm->acpi->type, in ibm_exit()
8889 ibm->flags.acpi_notify_installed = 0; in ibm_exit()
8892 if (ibm->flags.proc_created) { in ibm_exit()
8894 "%s: remove_proc_entry\n", ibm->name); in ibm_exit()
8895 remove_proc_entry(ibm->name, proc_dir); in ibm_exit()
8896 ibm->flags.proc_created = 0; in ibm_exit()
8899 if (ibm->flags.acpi_driver_registered) { in ibm_exit()
8901 "%s: acpi_bus_unregister_driver\n", ibm->name); in ibm_exit()
8902 BUG_ON(!ibm->acpi); in ibm_exit()
8903 acpi_bus_unregister_driver(ibm->acpi->driver); in ibm_exit()
8904 kfree(ibm->acpi->driver); in ibm_exit()
8905 ibm->acpi->driver = NULL; in ibm_exit()
8906 ibm->flags.acpi_driver_registered = 0; in ibm_exit()
8909 if (ibm->flags.init_called && ibm->exit) { in ibm_exit()
8910 ibm->exit(); in ibm_exit()
8911 ibm->flags.init_called = 0; in ibm_exit()
8914 dbg_printk(TPACPI_DBG_INIT, "finished removing %s\n", ibm->name); in ibm_exit()
8920 struct ibm_struct *ibm = iibm->data; in ibm_init() local
8923 BUG_ON(ibm == NULL); in ibm_init()
8925 INIT_LIST_HEAD(&ibm->all_drivers); in ibm_init()
8927 if (ibm->flags.experimental && !experimental) in ibm_init()
8931 "probing for %s\n", ibm->name); in ibm_init()
8940 ibm->flags.init_called = 1; in ibm_init()
8943 if (ibm->acpi) { in ibm_init()
8944 if (ibm->acpi->hid) { in ibm_init()
8945 ret = register_tpacpi_subdriver(ibm); in ibm_init()
8950 if (ibm->acpi->notify) { in ibm_init()
8951 ret = setup_acpi_notify(ibm); in ibm_init()
8954 ibm->name); in ibm_init()
8964 "%s installed\n", ibm->name); in ibm_init()
8966 if (ibm->read) { in ibm_init()
8971 if (ibm->write) in ibm_init()
8973 entry = proc_create_data(ibm->name, mode, proc_dir, in ibm_init()
8974 &dispatch_proc_fops, ibm); in ibm_init()
8976 pr_err("unable to create proc entry %s\n", ibm->name); in ibm_init()
8980 ibm->flags.proc_created = 1; in ibm_init()
8983 list_add_tail(&ibm->all_drivers, &tpacpi_all_drivers); in ibm_init()
8990 ibm->name, ret); in ibm_init()
8992 ibm_exit(ibm); in ibm_init()
9250 struct ibm_struct *ibm; in set_ibm_param() local
9256 ibm = ibms_init[i].data; in set_ibm_param()
9257 WARN_ON(ibm == NULL); in set_ibm_param()
9259 if (!ibm || !ibm->name) in set_ibm_param()
9262 if (strcmp(ibm->name, kp->name) == 0 && ibm->write) { in set_ibm_param()
9372 struct ibm_struct *ibm, *itmp; in thinkpad_acpi_module_exit() local
9376 list_for_each_entry_safe_reverse(ibm, itmp, in thinkpad_acpi_module_exit()
9379 ibm_exit(ibm); in thinkpad_acpi_module_exit()