One fix for the SiFive PRCI clocks so that the device boots again. This

driver was registering clkdev lookups that were always going to be
 useless. This wasn't a problem until clkdev started returning an error
 in these cases, causing this driver to fail probe, and thus boot to fail
 because clks are essential for most drivers. The fix is simple, don't
 use clkdev because this is a DT based system where clkdev isn't used.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEE9L57QeeUxqYDyoaDrQKIl8bklSUFAmZlBJoRHHNib3lkQGtl
 cm5lbC5vcmcACgkQrQKIl8bklSWECBAAswaNxK8xcEC60H9reH6UxyMNRxlDA3cv
 NW2Jmv5+Q1uSyTlsEmq3IDzqbURdR+e8A+bh9ZcJzZiTZC30WMC+CNU9nWe67nA7
 0eLNcSlerOKa+I9wc8wq5xwE9fCADkPpjyWXccUkngRrhFxWcsJNZjnc6Ki+o1IO
 +Uk4YQWFn7IG1xKtdwLpkpjHSjpZGloPrJClWCOfu4334VX9vS7lKJK7bmkQYciU
 dwPgVfcbtwYT5LHP6urmOjcxWcxOM1TrxA0sCsb3vTh1kWBrIcsunR0msATrWEgK
 sKQhEgwOFb5qrtabJaxoCrR3yB3VTfyecZYeuiVq+gnnWEPlHuzBpuC5DDdiy39q
 Va+sgC5Qi9+85BWwk/dXcjOYH/A/5aJZFtUI6MDwAPbNzyfiCwgc8aUiMIQ0EDtU
 yyviKIzWKBHq2OSoYAifd8UiO4ayy4DsB/azDSzHNJWQn1CrisH/Atu7kO/K7V+H
 KCH51ASfk/H60EJkfUJB8o/YvxdgaVRvK05912N0JlJqZesUc56KLIQer8vuItlz
 T7gDd1v+Z+lmCf+8U64YLXo6/RbVor6rVVWWHo7gnPl1dv4NS9hH4JMGYvI6LG2m
 yp7skURw8IQSoxMROmMDNU4GqalpvH/5Pyu4Lmrmg5SlA5NTX/YDHozL17ZgbzOZ
 u0vo/5IXWgU=
 =J4Wh
 -----END PGP SIGNATURE-----

Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux

Pull clk fix from Stephen Boyd:
 "One fix for the SiFive PRCI clocks so that the device boots again.

  This driver was registering clkdev lookups that were always going to
  be useless. This wasn't a problem until clkdev started returning an
  error in these cases, causing this driver to fail probe, and thus boot
  to fail because clks are essential for most drivers. The fix is
  simple, don't use clkdev because this is a DT based system where
  clkdev isn't used"

* tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
  clk: sifive: Do not register clkdevs for PRCI clocks
This commit is contained in:
Linus Torvalds 2024-06-08 19:14:02 -07:00
commit 771ed66105

View File

@ -4,7 +4,6 @@
* Copyright (C) 2020 Zong Li
*/
#include <linux/clkdev.h>
#include <linux/delay.h>
#include <linux/io.h>
#include <linux/module.h>
@ -537,13 +536,6 @@ static int __prci_register_clocks(struct device *dev, struct __prci_data *pd,
return r;
}
r = clk_hw_register_clkdev(&pic->hw, pic->name, dev_name(dev));
if (r) {
dev_warn(dev, "Failed to register clkdev for %s: %d\n",
init.name, r);
return r;
}
pd->hw_clks.hws[i] = &pic->hw;
}