Amlogic Drivers for v6.19:

- Canvas device leak fix and error handling simplification
 - Add more SoCs definitions
 - Suport more SoCs for meson-gx-ao-secure
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPVPGJshWBf4d9CyLd9zb2sjISdEFAmkmvJAACgkQd9zb2sjI
 SdEGkxAAy0UNYGlFP6DzSdFiWUHdNhy78FzCxfzBkQdXRwZU/qCwg7XO+xiOoWcm
 c0DjNWa0YNV4mtM+1IZHsEEPtKWAisRunlZdh02kgWWSTZxF9F0fd29+9YOk+O+i
 hluOWF97HoFV95NSdYfcN0mkf9HlxIqmaY+W5tvBGp9uA9vd2nu04o86z9Ein6Pu
 3emhGu8Tr376U4zaHOeZ7xy44zBSB69qlWJHAKRdlUz3105r578vQO14ZsarIe/U
 wrrfbw9OqtroAkLUjVYfzT1cRqYfbSHlo4I2GaMn9uRIUD5moK9q0JQeuSl7uH06
 vLHkWPhKwWC4ldapd67YFbzzH+hy+PAwizcr3YYLu7KnkOTpO/NGtuGBTBLF7lNr
 qFS5MAslpXuW+ZNRkWvrAfy6vDg7v8wM1r5RRKIGn6ANx9EP8BRDgBznqZ2KNEiN
 1NqGRAFVJJjbKNK3lZ20+hhQirKD0efd1stZfntetHZcqE5TI0z3HEubNoa5AsoT
 NV3ZKGQloI+dts7LIBmg5Lj7jzb1UlwNkGS7CQ3CpstNEfcmJ3p9s52IJ6PhrIWB
 nUe6G0QbeUSyOI7LozrG00AOm5qMGGQgQUNiQ3wVKaU/FTXZT98PJKkWYDtjbTVx
 HAbPO2f4bvg57UpqzPaU9vvMiOEPiy8064gY2l9lmfcDbKUN8TA=
 =pHzm
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmkoyTcACgkQmmx57+YA
 GNnejg/6A0+FwhChqwjEPHPZuLuAMaiEjdz6Bs/S7xbQgIr088RaSF+m5nTwwHUY
 LIiPCIOV4Z/xI75rvjyBumWcpk8W6K+qn/tw1KoSJhkA295BNLX2wK3uK3Xh1f0i
 aas/jc8/ldomqJ5B06xIWSwVGHQz8C+kSblKPAnpwtzc1TyMfQnPITEHCOddXPg5
 kDHPuhi5FzWyk7L7fzQTRHy3hAk+187DSEppi1oZ+jsPwEAIjKAzghS4/B+lHxcF
 /9HVSSa1PULeXKBJUnq8gF5XqVVXwCQANTTkH9a+XVJSUXPbQD1Rw9ydDGNsPoEf
 nez7fQdJJ6+6PE/vZ2oid9/PEMgLOuO4PqxglQKPQ3w2h5DEkinaz9BVoRddkYqU
 s2BRuQGjSxDvXDnPlQ8uCv6gaU65Ii8E8ONwRHF0hBcX1iM+E49gMbja4cnqfHxT
 DbxOuqcNaB+EzYCyLeN0niiM55NlK35SrsUE6LtZ/vZFmNqVzYGAD95AaKHtzlNt
 b82qsMCe/ahqFENaAPVXpy/yLlijKBlx19iMByCXWLs/C820EXn/uF3axSkWOKcy
 LB+P44aLWQgTso2aqiUkpy5OzIxyBSfrsxLgZtUW2YpmX53bTHKDkiZ2PlqjJi9t
 XxofcKde2EwXUOW11Z031tQkRPT4LDYFUBI7z/fb6MnyYx9Jffw=
 =T9My
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-drivers-for-v6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into soc/drivers-late

Amlogic Drivers for v6.19:
- Canvas device leak fix and error handling simplification
- Add more SoCs definitions
- Suport more SoCs for meson-gx-ao-secure

* tag 'amlogic-drivers-for-v6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
  soc: amlogic: meson-gx-socinfo: add new SoCs id
  dt-bindings: arm: amlogic: meson-gx-ao-secure: support more SoCs
  soc: amlogic: canvas: simplify lookup error handling
  soc: amlogic: canvas: fix device leak on lookup

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2025-11-27 22:57:07 +01:00
commit e9191aa446
3 changed files with 13 additions and 8 deletions

View File

@ -34,6 +34,9 @@ properties:
- amlogic,a4-ao-secure
- amlogic,c3-ao-secure
- amlogic,s4-ao-secure
- amlogic,s6-ao-secure
- amlogic,s7-ao-secure
- amlogic,s7d-ao-secure
- amlogic,t7-ao-secure
- const: amlogic,meson-gx-ao-secure
- const: syscon

View File

@ -60,12 +60,9 @@ struct meson_canvas *meson_canvas_get(struct device *dev)
return ERR_PTR(-ENODEV);
canvas_pdev = of_find_device_by_node(canvas_node);
if (!canvas_pdev) {
of_node_put(canvas_node);
return ERR_PTR(-EPROBE_DEFER);
}
of_node_put(canvas_node);
if (!canvas_pdev)
return ERR_PTR(-EPROBE_DEFER);
/*
* If priv is NULL, it's probably because the canvas hasn't
@ -73,10 +70,9 @@ struct meson_canvas *meson_canvas_get(struct device *dev)
* current state, this driver probe cannot return -EPROBE_DEFER
*/
canvas = dev_get_drvdata(&canvas_pdev->dev);
if (!canvas) {
put_device(&canvas_pdev->dev);
put_device(&canvas_pdev->dev);
if (!canvas)
return ERR_PTR(-EINVAL);
}
return canvas;
}

View File

@ -46,6 +46,9 @@ static const struct meson_gx_soc_id {
{ "A5", 0x3c },
{ "C3", 0x3d },
{ "A4", 0x40 },
{ "S7", 0x46 },
{ "S7D", 0x47 },
{ "S6", 0x48 },
};
static const struct meson_gx_package_id {
@ -86,6 +89,9 @@ static const struct meson_gx_package_id {
{ "A311D2", 0x36, 0x1, 0xf },
{ "A113X2", 0x3c, 0x1, 0xf },
{ "A113L2", 0x40, 0x1, 0xf },
{ "S805X3", 0x46, 0x3, 0xf },
{ "S905X5M", 0x47, 0x1, 0xf },
{ "S905X5", 0x48, 0x1, 0xf },
};
static inline unsigned int socinfo_to_major(u32 socinfo)