Convert macros to a static inline function, to make the relevant types apparent in the definition and to benefit from the type checking performed by the compiler at call sites.
Sumitra Sharma (3): Staging: greybus: Convert macro gpio_chip_to_gb_gpio_controller to an inline function Staging: greybus: Convert macro struct gb_audio_manager_module to an inline function Staging: greybus: Convert macro struct pwm_chip_to_gb_pwm_chip to an inline function
drivers/staging/greybus/audio_manager_module.c | 7 +++++-- drivers/staging/greybus/gpio.c | 7 +++++-- drivers/staging/greybus/pwm.c | 6 ++++-- 3 files changed, 14 insertions(+), 6 deletions(-)
Convert 'gpio_chip_to_gb_gpio_controller' from a macro to a static inline function, to make the relevant types apparent in the definition and to benefit from the type checking performed by the compiler at call sites.
Signed-off-by: Sumitra Sharma sumitraartsy@gmail.com --- drivers/staging/greybus/gpio.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/greybus/gpio.c b/drivers/staging/greybus/gpio.c index d729b922a750..2a115a8fc263 100644 --- a/drivers/staging/greybus/gpio.c +++ b/drivers/staging/greybus/gpio.c @@ -41,8 +41,11 @@ struct gb_gpio_controller { struct irq_chip irqc; struct mutex irq_lock; }; -#define gpio_chip_to_gb_gpio_controller(chip) \ - container_of(chip, struct gb_gpio_controller, chip) + +static inline struct gb_gpio_controller *gpio_chip_to_gb_gpio_controller(struct gpio_chip *chip) +{ + return container_of(chip, struct gb_gpio_controller, chip); +}
static struct gpio_chip *irq_data_to_gpio_chip(struct irq_data *d) {
Convert 'struct gb_audio_manager_module' from a macro to a static inline function, to make the relevant types apparent in the definition and to benefit from the type checking performed by the compiler at call sites.
Signed-off-by: Sumitra Sharma sumitraartsy@gmail.com --- drivers/staging/greybus/audio_manager_module.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/greybus/audio_manager_module.c b/drivers/staging/greybus/audio_manager_module.c index 81b4ba607a0e..5f9dcbdbc191 100644 --- a/drivers/staging/greybus/audio_manager_module.c +++ b/drivers/staging/greybus/audio_manager_module.c @@ -12,8 +12,11 @@
#define to_gb_audio_module_attr(x) \ container_of(x, struct gb_audio_manager_module_attribute, attr) -#define to_gb_audio_module(x) \ - container_of(x, struct gb_audio_manager_module, kobj) + +static inline struct gb_audio_manager_module *to_gb_audio_module(struct kobject *kobj) +{ + return container_of(kobj, struct gb_audio_manager_module, kobj); +}
struct gb_audio_manager_module_attribute { struct attribute attr;
Convert 'pwm_chip_to_gb_pwm_chip' from a macro to a static inline function, to make the relevant types apparent in the definition and to benefit from the type checking performed by the compiler at call sites.
Signed-off-by: Sumitra Sharma sumitraartsy@gmail.com --- drivers/staging/greybus/pwm.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/greybus/pwm.c b/drivers/staging/greybus/pwm.c index 3fda172239d2..88da1d796f13 100644 --- a/drivers/staging/greybus/pwm.c +++ b/drivers/staging/greybus/pwm.c @@ -21,9 +21,11 @@ struct gb_pwm_chip { struct pwm_chip chip; struct pwm_chip *pwm; }; -#define pwm_chip_to_gb_pwm_chip(chip) \ - container_of(chip, struct gb_pwm_chip, chip)
+static inline struct gb_pwm_chip *pwm_chip_to_gb_pwm_chip(struct pwm_chip *chip) +{ + return container_of(chip, struct gb_pwm_chip, chip); +}
static int gb_pwm_count_operation(struct gb_pwm_chip *pwmc) {
On Thu, Mar 23, 2023 at 02:01:04AM -0700, Sumitra Sharma wrote:
Convert macros to a static inline function, to make the relevant types apparent in the definition and to benefit from the type checking performed by the compiler at call sites.
Sumitra Sharma (3): Staging: greybus: Convert macro gpio_chip_to_gb_gpio_controller to an inline function Staging: greybus: Convert macro struct gb_audio_manager_module to an inline function Staging: greybus: Convert macro struct pwm_chip_to_gb_pwm_chip to an inline function
Hi Sumitra,
Please review:
https://kernelnewbies.org/Outreachyfirstpatch#:~:text=Following%20the%20Driv...
That is the section on 'Following the driver commit style'.
Cover letter Subject seems to be needlessly truncated.
Alison
drivers/staging/greybus/audio_manager_module.c | 7 +++++-- drivers/staging/greybus/gpio.c | 7 +++++-- drivers/staging/greybus/pwm.c | 6 ++++-- 3 files changed, 14 insertions(+), 6 deletions(-)
-- 2.25.1