summaryrefslogtreecommitdiff
path: root/drivers/pps
diff options
context:
space:
mode:
authorSudip Mukherjee <sudipm.mukherjee@gmail.com>2018-01-28 23:22:09 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-03-14 17:53:06 +0100
commitb857cacd748e524d5603ddbbe630bdcfb74bd3f6 (patch)
tree620ba3e43c9d927e556954b668c59bcfe06ca98f /drivers/pps
parentfb56d97df70e7c29c4072c02d1d756641891cee9 (diff)
downloadlwn-b857cacd748e524d5603ddbbe630bdcfb74bd3f6.tar.gz
lwn-b857cacd748e524d5603ddbbe630bdcfb74bd3f6.zip
pps: generator: use new parport device model
Modify pps generator driver to use the new parallel port device model. Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com> Acked-by: Rodolfo Giometti <giometti@enneenne.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/pps')
-rw-r--r--drivers/pps/generators/pps_gen_parport.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/pps/generators/pps_gen_parport.c b/drivers/pps/generators/pps_gen_parport.c
index 51cfde6afffd..7fd36cac063b 100644
--- a/drivers/pps/generators/pps_gen_parport.c
+++ b/drivers/pps/generators/pps_gen_parport.c
@@ -192,13 +192,18 @@ static inline ktime_t next_intr_time(struct pps_generator_pp *dev)
static void parport_attach(struct parport *port)
{
+ struct pardev_cb pps_cb;
+
if (attached) {
/* we already have a port */
return;
}
- device.pardev = parport_register_device(port, KBUILD_MODNAME,
- NULL, NULL, NULL, PARPORT_FLAG_EXCL, &device);
+ memset(&pps_cb, 0, sizeof(pps_cb));
+ pps_cb.private = &device;
+ pps_cb.flags = PARPORT_FLAG_EXCL;
+ device.pardev = parport_register_dev_model(port, KBUILD_MODNAME,
+ &pps_cb, 0);
if (!device.pardev) {
pr_err("couldn't register with %s\n", port->name);
return;
@@ -236,8 +241,9 @@ static void parport_detach(struct parport *port)
static struct parport_driver pps_gen_parport_driver = {
.name = KBUILD_MODNAME,
- .attach = parport_attach,
+ .match_port = parport_attach,
.detach = parport_detach,
+ .devmodel = true,
};
/* module staff */