#include #include #include #include #include static int simple_reset_consumer_probe(struct platform_device *pdev) { struct reset_control *reset = devm_reset_control_get(&pdev->dev, NULL); if (IS_ERR(reset)) return PTR_ERR(reset); dev_info(&pdev->dev, "firing reset\n"); reset_control_reset(reset); return 0; } static struct of_device_id simple_reset_consumer_of_match[] = { { .compatible = "david,simple-reset-consumer" }, {} }; MODULE_DEVICE_TABLE(of, simple_reset_consumer_of_match); static struct platform_driver simple_reset_consumer = { .driver = { .name = "simple-reset-consumer", .of_match_table = simple_reset_consumer_of_match, }, .probe = simple_reset_consumer_probe }; module_platform_driver(simple_reset_consumer); MODULE_AUTHOR("David Phillips "); MODULE_DESCRIPTION("Simple reset consumer for testing/demoing reset controllers"); MODULE_LICENSE("GPL v2");