Re: [RFC v2 1/4] i3c: master: export i3c_masterdev_type

From: Boris Brezillon
Date: Mon Feb 17 2020 - 09:56:31 EST


On Wed, 29 Jan 2020 13:17:32 +0100
Vitor Soares <Vitor.Soares@xxxxxxxxxxxx> wrote:

> Exporte i3c_masterdev_type so i3cdev module can verify if an i3c device
> is a master.
>
> Signed-off-by: Vitor Soares <vitor.soares@xxxxxxxxxxxx>
> ---
> drivers/i3c/internals.h | 1 +
> drivers/i3c/master.c | 3 ++-
> 2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/i3c/internals.h b/drivers/i3c/internals.h
> index 86b7b44..bc062e8 100644
> --- a/drivers/i3c/internals.h
> +++ b/drivers/i3c/internals.h
> @@ -11,6 +11,7 @@
> #include <linux/i3c/master.h>
>
> extern struct bus_type i3c_bus_type;
> +extern const struct device_type i3c_masterdev_type;
>
> void i3c_bus_normaluse_lock(struct i3c_bus *bus);
> void i3c_bus_normaluse_unlock(struct i3c_bus *bus);
> diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c
> index 7f8f896..8a0ba34 100644
> --- a/drivers/i3c/master.c
> +++ b/drivers/i3c/master.c
> @@ -523,9 +523,10 @@ static void i3c_masterdev_release(struct device *dev)
> of_node_put(dev->of_node);
> }
>
> -static const struct device_type i3c_masterdev_type = {
> +const struct device_type i3c_masterdev_type = {
> .groups = i3c_masterdev_groups,
> };
> +EXPORT_SYMBOL_GPL(i3c_masterdev_type);

No need to export the symbol, removing the static and adding the
definition to internal.h should work just fine (i3c.o contains
both master.o and device.o).

>
> static int i3c_bus_set_mode(struct i3c_bus *i3cbus, enum i3c_bus_mode mode,
> unsigned long max_i2c_scl_rate)