2023-08-30 19:23:42

by Biju Das

[permalink] [raw]
Subject: [PATCH v5 0/3] Drop ID table and conditionals around of_node pointers for anx78xx driver

This patch series aims to drop ID table and conditionals around of_node pointers for anx78xx driver.

While at it, drop conditionals from drm_bridge.h.

v4->v5:
* Added Rb tag from Andy and Helen for patch#1.
* Split patch#2 into two
* Added struct device_node forward declaration for patch#2.
* Updated commit description for patch#2
v3->v4:
* Created patch#2 for dropping conditionals around of_node pointers.
* Added Rb tag from Laurent and Douglas Anderson for patch#1.
v2->v3:
* Updated commit header.
v1->v2:
* Dropped ID table support.

Biju Das (3):
drm/bridge/analogix/anx78xx: Drop ID table
drm/bridge: Drop conditionals around of_node pointers
drm/bridge/analogix/anx78xx: Drop conditionals around of_node pointers

drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c | 9 ---------
include/drm/drm_bridge.h | 4 ++--
2 files changed, 2 insertions(+), 11 deletions(-)

--
2.25.1



2023-08-30 22:02:35

by Biju Das

[permalink] [raw]
Subject: [PATCH v5 2/3] drm/bridge: Drop conditionals around of_node pointers

The commit c9e358dfc4a8 ("driver-core: remove conditionals around
devicetree pointers") supposed to remove conditionals around of_node
pointer, but it missed out drm/bridge.h. So drop #if conditionals by
adding struct device_node forward declaration.

Suggested-by: Douglas Anderson <[email protected]>
Signed-off-by: Biju Das <[email protected]>
---
v5:
* Split from patch#2
* Updated commit description
* Added struct device_node forward declaration.
---
include/drm/drm_bridge.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/drm/drm_bridge.h b/include/drm/drm_bridge.h
index c339fc85fd07..843736627f60 100644
--- a/include/drm/drm_bridge.h
+++ b/include/drm/drm_bridge.h
@@ -32,6 +32,8 @@
#include <drm/drm_mode_object.h>
#include <drm/drm_modes.h>

+struct device_node;
+
struct drm_bridge;
struct drm_bridge_timings;
struct drm_connector;
@@ -716,10 +718,8 @@ struct drm_bridge {
struct drm_encoder *encoder;
/** @chain_node: used to form a bridge chain */
struct list_head chain_node;
-#ifdef CONFIG_OF
/** @of_node: device node pointer to the bridge */
struct device_node *of_node;
-#endif
/** @list: to keep track of all added bridges */
struct list_head list;
/**
--
2.25.1


2023-08-30 23:29:35

by Biju Das

[permalink] [raw]
Subject: [PATCH v5 1/3] drm/bridge/analogix/anx78xx: Drop ID table

The driver has an ID table, but it uses the wrong API for retrieving match
data and that will lead to a crash, if it is instantiated by user space or
using ID. From this, there is no user for the ID table and let's drop it
from the driver as it saves some memory.

Signed-off-by: Biju Das <[email protected]>
Reviewed-by: Douglas Anderson <[email protected]>
Reviewed-by: Laurent Pinchart <[email protected]>
Reviewed-by: Andy Shevchenko <[email protected]>
Reviewed-by: Helen Koike <[email protected]>
---
v4->v5:
* Added Rb tag from Andy and Helen.
v3->v4:
* Added Rb tag from Laurent and Douglas Anderson.
v2->v3:
* Updated commit header.
v1->v2:
* Dropped ID table support.
---
drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c | 7 -------
1 file changed, 7 deletions(-)

diff --git a/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c b/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c
index 800555aef97f..6169db73d2fe 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c
+++ b/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c
@@ -1367,12 +1367,6 @@ static void anx78xx_i2c_remove(struct i2c_client *client)
kfree(anx78xx->edid);
}

-static const struct i2c_device_id anx78xx_id[] = {
- { "anx7814", 0 },
- { /* sentinel */ }
-};
-MODULE_DEVICE_TABLE(i2c, anx78xx_id);
-
static const struct of_device_id anx78xx_match_table[] = {
{ .compatible = "analogix,anx7808", .data = anx7808_i2c_addresses },
{ .compatible = "analogix,anx7812", .data = anx781x_i2c_addresses },
@@ -1389,7 +1383,6 @@ static struct i2c_driver anx78xx_driver = {
},
.probe = anx78xx_i2c_probe,
.remove = anx78xx_i2c_remove,
- .id_table = anx78xx_id,
};
module_i2c_driver(anx78xx_driver);

--
2.25.1