diff mbox series

platform/surface: aggregator: Make to_ssam_device_driver() respect constness

Message ID 20230525205041.2774947-1-luzmaximilian@gmail.com (mailing list archive)
State Accepted, archived
Headers show
Series platform/surface: aggregator: Make to_ssam_device_driver() respect constness | expand

Commit Message

Maximilian Luz May 25, 2023, 8:50 p.m. UTC
Make to_ssam_device_driver() a bit safer by replacing container_of()
with container_of_const() to respect the constness of the passed in
pointer, instead of silently discarding any const specifications. This
change also makes it more similar to to_ssam_device(), which already
uses container_of_const().

Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
---
 include/linux/surface_aggregator/device.h | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

Comments

Hans de Goede May 30, 2023, 9:24 a.m. UTC | #1
Hi,

On 5/25/23 22:50, Maximilian Luz wrote:
> Make to_ssam_device_driver() a bit safer by replacing container_of()
> with container_of_const() to respect the constness of the passed in
> pointer, instead of silently discarding any const specifications. This
> change also makes it more similar to to_ssam_device(), which already
> uses container_of_const().
> 
> Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>

Thank you for your patch, I've applied this patch to my fixes
branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=fixes

Note it will show up in my fixes branch once I've pushed my
local branch there, which might take a while.

I will include this patch in my next fixes pull-req to Linus
for the current kernel development cycle.

Regards,

Hans



> ---
>  include/linux/surface_aggregator/device.h | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
> 
> diff --git a/include/linux/surface_aggregator/device.h b/include/linux/surface_aggregator/device.h
> index df81043b9e718..42b249b4c24b1 100644
> --- a/include/linux/surface_aggregator/device.h
> +++ b/include/linux/surface_aggregator/device.h
> @@ -243,11 +243,7 @@ static inline bool is_ssam_device(struct device *d)
>   * Return: Returns the pointer to the &struct ssam_device_driver wrapping the
>   * given device driver @d.
>   */
> -static inline
> -struct ssam_device_driver *to_ssam_device_driver(struct device_driver *d)
> -{
> -	return container_of(d, struct ssam_device_driver, driver);
> -}
> +#define to_ssam_device_driver(d)	container_of_const(d, struct ssam_device_driver, driver)
>  
>  const struct ssam_device_id *ssam_device_id_match(const struct ssam_device_id *table,
>  						  const struct ssam_device_uid uid);
diff mbox series

Patch

diff --git a/include/linux/surface_aggregator/device.h b/include/linux/surface_aggregator/device.h
index df81043b9e718..42b249b4c24b1 100644
--- a/include/linux/surface_aggregator/device.h
+++ b/include/linux/surface_aggregator/device.h
@@ -243,11 +243,7 @@  static inline bool is_ssam_device(struct device *d)
  * Return: Returns the pointer to the &struct ssam_device_driver wrapping the
  * given device driver @d.
  */
-static inline
-struct ssam_device_driver *to_ssam_device_driver(struct device_driver *d)
-{
-	return container_of(d, struct ssam_device_driver, driver);
-}
+#define to_ssam_device_driver(d)	container_of_const(d, struct ssam_device_driver, driver)
 
 const struct ssam_device_id *ssam_device_id_match(const struct ssam_device_id *table,
 						  const struct ssam_device_uid uid);