hc
2024-05-14 bedbef8ad3e75a304af6361af235302bcc61d06b
kernel/drivers/soc/amlogic/meson-gx-socinfo.c
....@@ -37,6 +37,10 @@
3737 { "AXG", 0x25 },
3838 { "GXLX", 0x26 },
3939 { "TXHD", 0x27 },
40
+ { "G12A", 0x28 },
41
+ { "G12B", 0x29 },
42
+ { "SM1", 0x2b },
43
+ { "A1", 0x2c },
4044 };
4145
4246 static const struct meson_gx_package_id {
....@@ -53,11 +57,22 @@
5357 { "S905W", 0x21, 0xa0, 0xf0 },
5458 { "S905L", 0x21, 0xc0, 0xf0 },
5559 { "S905M2", 0x21, 0xe0, 0xf0 },
60
+ { "S805X", 0x21, 0x30, 0xf0 },
61
+ { "S805Y", 0x21, 0xb0, 0xf0 },
5662 { "S912", 0x22, 0, 0x0 }, /* Only S912 is known for GXM */
5763 { "962X", 0x24, 0x10, 0xf0 },
5864 { "962E", 0x24, 0x20, 0xf0 },
5965 { "A113X", 0x25, 0x37, 0xff },
6066 { "A113D", 0x25, 0x22, 0xff },
67
+ { "S905D2", 0x28, 0x10, 0xf0 },
68
+ { "S905X2", 0x28, 0x40, 0xf0 },
69
+ { "A311D", 0x29, 0x10, 0xf0 },
70
+ { "S922X", 0x29, 0x40, 0xf0 },
71
+ { "S905D3", 0x2b, 0x4, 0xf5 },
72
+ { "S905X3", 0x2b, 0x5, 0xf5 },
73
+ { "S905X3", 0x2b, 0x10, 0x3f },
74
+ { "S905D3", 0x2b, 0x30, 0x3f },
75
+ { "A113L", 0x2c, 0x0, 0xf8 },
6176 };
6277
6378 static inline unsigned int socinfo_to_major(u32 socinfo)
....@@ -125,12 +140,16 @@
125140 return -ENODEV;
126141
127142 /* check if interface is enabled */
128
- if (!of_device_is_available(np))
143
+ if (!of_device_is_available(np)) {
144
+ of_node_put(np);
129145 return -ENODEV;
146
+ }
130147
131148 /* check if chip-id is available */
132
- if (!of_property_read_bool(np, "amlogic,has-chip-id"))
149
+ if (!of_property_read_bool(np, "amlogic,has-chip-id")) {
150
+ of_node_put(np);
133151 return -ENODEV;
152
+ }
134153
135154 /* node should be a syscon */
136155 regmap = syscon_node_to_regmap(np);