stm32mp157/pinctrl/pinctrl_virtual/pinctrl_virtual_client.c
2026-02-08 21:27:46 +08:00

59 lines
1.5 KiB
C

#include <linux/module.h>
#include <linux/err.h>
#include <linux/init.h>
#include <linux/io.h>
#include <linux/mfd/syscon.h>
#include <linux/uaccess.h>
#include <linux/of.h>
#include <linux/of_device.h>
#include <linux/of_address.h>
#include <linux/pinctrl/machine.h>
#include <linux/pinctrl/pinconf.h>
#include <linux/pinctrl/pinctrl.h>
#include <linux/slab.h>
#include <linux/regmap.h>
static const struct of_device_id pinctrl_client_of_match[] = {
{ .compatible = "jzh,pinctrl-client", },
{ },
};
static int pinctrl_client_probe(struct platform_device *pdev)
{
printk("%s %s %d\r\n", __FILE__, __FUNCTION__, __LINE__);
return 0;
}
static int pinctrl_client_remove(struct platform_device *pdev)
{
printk("%s %s %d\r\n", __FILE__, __FUNCTION__, __LINE__);
return 0;
}
static struct platform_driver pinctrl_client_driver = {
.probe = pinctrl_client_probe,
.remove = pinctrl_client_remove,
.driver = {
.name = "pinctrl-client",
.of_match_table = of_match_ptr(pinctrl_client_of_match),
},
};
static int __init pinctrl_client_init(void)
{
printk("%s %s %d\r\n", __FILE__, __FUNCTION__, __LINE__);
return platform_driver_register(&pinctrl_client_driver);
}
static void __exit pinctrl_client_exit(void)
{
printk("%s %s %d\r\n", __FILE__, __FUNCTION__, __LINE__);
platform_driver_unregister(&pinctrl_client_driver);
}
module_init(pinctrl_client_init);
module_exit(pinctrl_client_exit);
MODULE_DESCRIPTION("Virtual Pin Control Driver");
MODULE_AUTHOR("jzhgonha@163.com");
MODULE_LICENSE("GPL");