static void muic_init_switch_dev_cb(void) { #ifdef CONFIG_SWITCH int ret; /* for DockObserver */ ret = switch_dev_register(&switch_dock); if (ret < 0) { pr_err("%s: Failed to register dock switch(%d)\n", __func__, ret); return; } #endif /* CONFIG_SWITCH */ #if defined(CONFIG_MUIC_NOTIFIER) muic_notifier_register(&dock_notifier_block, muic_handle_dock_notification, MUIC_NOTIFY_DEV_DOCK); #endif /* CONFIG_MUIC_NOTIFIER */ pr_info("%s: done\n", __func__); }
static int usb_notifier_probe(struct platform_device *pdev) { int ret = 0; struct usb_notifier_platform_data *pdata = NULL; if (pdev->dev.of_node) { pdata = devm_kzalloc(&pdev->dev, sizeof(struct usb_notifier_platform_data), GFP_KERNEL); if (!pdata) { dev_err(&pdev->dev, "Failed to allocate memory\n"); return -ENOMEM; } ret = of_usb_notifier_dt(&pdev->dev, pdata); if (ret < 0) { dev_err(&pdev->dev, "Failed to get device of_node\n"); return ret; } pdev->dev.platform_data = pdata; } else pdata = pdev->dev.platform_data; dwc_lsi_notify.redriver_en_gpio = pdata->gpio_redriver_en; dwc_lsi_notify.disable_control = pdata->can_diable_usb; set_otg_notify(&dwc_lsi_notify); set_notify_data(&dwc_lsi_notify, pdata); #ifdef CONFIG_MUIC_NOTIFIER muic_notifier_register(&pdata->usb_nb, usb_handle_notification, MUIC_NOTIFY_DEV_USB); #endif #ifdef CONFIG_VBUS_NOTIFIER vbus_notifier_register(&pdata->vbus_nb, vbus_handle_notification, MUIC_NOTIFY_DEV_USB); #endif dev_info(&pdev->dev, "usb notifier probe\n"); return 0; }
static int __init exynos_powermode_muic_notifier_init(void) { return muic_notifier_register(&cpuidle_muic_nb, exynos_cpuidle_muic_notifier, MUIC_NOTIFY_DEV_CPUIDLE); }