lkml.org 
[lkml]   [2019]   [Mar]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 04/10] HID: intel-ish-hid: Move driver registry functions
    Date
    Move the driver registry with the ishtp bus to the common interface
    file, which clients can include.
    Also rename __ishtp_cl_driver_register() to ishtp_cl_driver_register()
    and removed define for ishtp_cl_driver_register.

    Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
    ---
    drivers/hid/intel-ish-hid/ishtp-hid-client.c | 2 +-
    drivers/hid/intel-ish-hid/ishtp/bus.c | 8 +++---
    drivers/hid/intel-ish-hid/ishtp/bus.h | 27 +-------------------
    include/linux/intel-ish-client-if.h | 25 ++++++++++++++++++
    4 files changed, 31 insertions(+), 31 deletions(-)

    diff --git a/drivers/hid/intel-ish-hid/ishtp-hid-client.c b/drivers/hid/intel-ish-hid/ishtp-hid-client.c
    index 94a00ffeb09b..4afb39713213 100644
    --- a/drivers/hid/intel-ish-hid/ishtp-hid-client.c
    +++ b/drivers/hid/intel-ish-hid/ishtp-hid-client.c
    @@ -953,7 +953,7 @@ static int __init ish_hid_init(void)
    int rv;

    /* Register ISHTP client device driver with ISHTP Bus */
    - rv = ishtp_cl_driver_register(&hid_ishtp_cl_driver);
    + rv = ishtp_cl_driver_register(&hid_ishtp_cl_driver, THIS_MODULE);

    return rv;

    diff --git a/drivers/hid/intel-ish-hid/ishtp/bus.c b/drivers/hid/intel-ish-hid/ishtp/bus.c
    index 308853eab91c..95a97534fcda 100644
    --- a/drivers/hid/intel-ish-hid/ishtp/bus.c
    +++ b/drivers/hid/intel-ish-hid/ishtp/bus.c
    @@ -485,7 +485,7 @@ static void ishtp_bus_remove_device(struct ishtp_cl_device *device)
    }

    /**
    - * __ishtp_cl_driver_register() - Client driver register
    + * ishtp_cl_driver_register() - Client driver register
    * @driver: the client driver instance
    * @owner: Owner of this driver module
    *
    @@ -494,8 +494,8 @@ static void ishtp_bus_remove_device(struct ishtp_cl_device *device)
    *
    * Return: Return value of driver_register or -ENODEV if not ready
    */
    -int __ishtp_cl_driver_register(struct ishtp_cl_driver *driver,
    - struct module *owner)
    +int ishtp_cl_driver_register(struct ishtp_cl_driver *driver,
    + struct module *owner)
    {
    int err;

    @@ -512,7 +512,7 @@ int __ishtp_cl_driver_register(struct ishtp_cl_driver *driver,

    return 0;
    }
    -EXPORT_SYMBOL(__ishtp_cl_driver_register);
    +EXPORT_SYMBOL(ishtp_cl_driver_register);

    /**
    * ishtp_cl_driver_unregister() - Client driver unregister
    diff --git a/drivers/hid/intel-ish-hid/ishtp/bus.h b/drivers/hid/intel-ish-hid/ishtp/bus.h
    index c96e7fb42f01..4aed195719de 100644
    --- a/drivers/hid/intel-ish-hid/ishtp/bus.h
    +++ b/drivers/hid/intel-ish-hid/ishtp/bus.h
    @@ -17,6 +17,7 @@

    #include <linux/device.h>
    #include <linux/mod_devicetable.h>
    +#include <linux/intel-ish-client-if.h>

    struct ishtp_cl;
    struct ishtp_cl_device;
    @@ -52,26 +53,6 @@ struct ishtp_cl_device {
    void (*event_cb)(struct ishtp_cl_device *device);
    };

    -/**
    - * struct ishtp_cl_device - ISHTP device handle
    - * @driver: driver instance on a bus
    - * @name: Name of the device for probe
    - * @probe: driver callback for device probe
    - * @remove: driver callback on device removal
    - *
    - * Client drivers defines to get probed/removed for ISHTP client device.
    - */
    -struct ishtp_cl_driver {
    - struct device_driver driver;
    - const char *name;
    - const guid_t *guid;
    - int (*probe)(struct ishtp_cl_device *dev);
    - int (*remove)(struct ishtp_cl_device *dev);
    - int (*reset)(struct ishtp_cl_device *dev);
    - const struct dev_pm_ops *pm;
    -};
    -
    -
    int ishtp_bus_new_client(struct ishtp_device *dev);
    void ishtp_remove_all_clients(struct ishtp_device *dev);
    int ishtp_cl_device_bind(struct ishtp_cl *cl);
    @@ -105,12 +86,6 @@ void ishtp_get_device(struct ishtp_cl_device *);
    void ishtp_set_drvdata(struct ishtp_cl_device *cl_device, void *data);
    void *ishtp_get_drvdata(struct ishtp_cl_device *cl_device);

    -int __ishtp_cl_driver_register(struct ishtp_cl_driver *driver,
    - struct module *owner);
    -#define ishtp_cl_driver_register(driver) \
    - __ishtp_cl_driver_register(driver, THIS_MODULE)
    -void ishtp_cl_driver_unregister(struct ishtp_cl_driver *driver);
    -
    int ishtp_register_event_cb(struct ishtp_cl_device *device,
    void (*read_cb)(struct ishtp_cl_device *));
    int ishtp_fw_cl_by_uuid(struct ishtp_device *dev, const guid_t *cuuid);
    diff --git a/include/linux/intel-ish-client-if.h b/include/linux/intel-ish-client-if.h
    index 11e285172735..abc0b8122f07 100644
    --- a/include/linux/intel-ish-client-if.h
    +++ b/include/linux/intel-ish-client-if.h
    @@ -10,6 +10,31 @@

    struct ishtp_cl_device;

    +/**
    + * struct ishtp_cl_device - ISHTP device handle
    + * @driver: driver instance on a bus
    + * @name: Name of the device for probe
    + * @probe: driver callback for device probe
    + * @remove: driver callback on device removal
    + *
    + * Client drivers defines to get probed/removed for ISHTP client device.
    + */
    +struct ishtp_cl_driver {
    + struct device_driver driver;
    + const char *name;
    + const guid_t *guid;
    + int (*probe)(struct ishtp_cl_device *dev);
    + int (*remove)(struct ishtp_cl_device *dev);
    + int (*reset)(struct ishtp_cl_device *dev);
    + const struct dev_pm_ops *pm;
    +};
    +
    +int ishtp_cl_driver_register(struct ishtp_cl_driver *driver,
    + struct module *owner);
    +void ishtp_cl_driver_unregister(struct ishtp_cl_driver *driver);
    +int ishtp_register_event_cb(struct ishtp_cl_device *device,
    + void (*read_cb)(struct ishtp_cl_device *));
    +
    /* Get the device * from ishtp device instance */
    struct device *ishtp_device(struct ishtp_cl_device *cl_device);
    /* Trace interface for clients */
    --
    2.17.2
    \
     
     \ /
      Last update: 2019-03-18 20:16    [W:3.663 / U:0.516 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site