1 /* SPDX-License-Identifier: GPL-2.0 */ 2 3 #ifndef DEV_SYNC_PROBE_H 4 #define DEV_SYNC_PROBE_H 5 6 #include <linux/completion.h> 7 #include <linux/notifier.h> 8 #include <linux/platform_device.h> 9 10 struct dev_sync_probe_data { 11 struct platform_device *pdev; 12 const char *name; 13 14 /* Synchronize with probe */ 15 struct notifier_block bus_notifier; 16 struct completion probe_completion; 17 bool driver_bound; 18 }; 19 20 void dev_sync_probe_init(struct dev_sync_probe_data *data); 21 int dev_sync_probe_register(struct dev_sync_probe_data *data, 22 struct platform_device_info *pdevinfo); 23 void dev_sync_probe_unregister(struct dev_sync_probe_data *data); 24 25 #endif /* DEV_SYNC_PROBE_H */ 26