Message ID | 20220426171409.58716-1-kettenis@openbsd.org |
---|---|
State | Handled Elsewhere |
Delegated to: | Tom Rini |
Headers | show |
Series | power: domain: apple: Restore reset ops that return 0 | expand |
On 4/26/22 19:14, Mark Kettenis wrote: > These were removed inadvertently in commit 20874a60722b. > Fixes a crash on Apple M1 systems. The drivers/power/domain/power-domain-uclass.c should handle empty implementation of request/rfree callback in exactly the commit you reference above.
> Date: Tue, 26 Apr 2022 20:04:19 +0200 > From: Marek Vasut <marex@denx.de> > > On 4/26/22 19:14, Mark Kettenis wrote: > > These were removed inadvertently in commit 20874a60722b. > > Fixes a crash on Apple M1 systems. > > The drivers/power/domain/power-domain-uclass.c should handle empty > implementation of request/rfree callback in exactly the commit you > reference above. Yes, but drivers/reset/reset-uclass.c doesn't and you also removed the request/rfree callbacks for that part of the apple_pmgr driver.
On 4/26/22 20:21, Mark Kettenis wrote: >> Date: Tue, 26 Apr 2022 20:04:19 +0200 >> From: Marek Vasut <marex@denx.de> >> >> On 4/26/22 19:14, Mark Kettenis wrote: >>> These were removed inadvertently in commit 20874a60722b. >>> Fixes a crash on Apple M1 systems. >> >> The drivers/power/domain/power-domain-uclass.c should handle empty >> implementation of request/rfree callback in exactly the commit you >> reference above. > > Yes, but drivers/reset/reset-uclass.c doesn't and you also removed the > request/rfree callbacks for that part of the apple_pmgr driver. Ah, sigh. Would it rather make sense to change the reset uclass ? It would reduce the amount of empty callbacks.
> Date: Tue, 26 Apr 2022 21:01:01 +0200 > From: Marek Vasut <marex@denx.de> > > On 4/26/22 20:21, Mark Kettenis wrote: > >> Date: Tue, 26 Apr 2022 20:04:19 +0200 > >> From: Marek Vasut <marex@denx.de> > >> > >> On 4/26/22 19:14, Mark Kettenis wrote: > >>> These were removed inadvertently in commit 20874a60722b. > >>> Fixes a crash on Apple M1 systems. > >> > >> The drivers/power/domain/power-domain-uclass.c should handle empty > >> implementation of request/rfree callback in exactly the commit you > >> reference above. > > > > Yes, but drivers/reset/reset-uclass.c doesn't and you also removed the > > request/rfree callbacks for that part of the apple_pmgr driver. > > Ah, sigh. Would it rather make sense to change the reset uclass ? > It would reduce the amount of empty callbacks. Maybe. But that should probably done as a single sweep like you did for the power domains. Let's fix this crash first.
On 4/26/22 22:54, Mark Kettenis wrote: >> Date: Tue, 26 Apr 2022 21:01:01 +0200 >> From: Marek Vasut <marex@denx.de> >> >> On 4/26/22 20:21, Mark Kettenis wrote: >>>> Date: Tue, 26 Apr 2022 20:04:19 +0200 >>>> From: Marek Vasut <marex@denx.de> >>>> >>>> On 4/26/22 19:14, Mark Kettenis wrote: >>>>> These were removed inadvertently in commit 20874a60722b. >>>>> Fixes a crash on Apple M1 systems. >>>> >>>> The drivers/power/domain/power-domain-uclass.c should handle empty >>>> implementation of request/rfree callback in exactly the commit you >>>> reference above. >>> >>> Yes, but drivers/reset/reset-uclass.c doesn't and you also removed the >>> request/rfree callbacks for that part of the apple_pmgr driver. >> >> Ah, sigh. Would it rather make sense to change the reset uclass ? >> It would reduce the amount of empty callbacks. > > Maybe. But that should probably done as a single sweep like you did > for the power domains. Let's fix this crash first. Try: [PATCH] reset: Return 0 if ops unimplemented and remove empty functions If this patch gets applied first, then please make sure it is also un-applied once the above is applied, so we don't grow useless empty functions again.
diff --git a/drivers/power/domain/apple-pmgr.c b/drivers/power/domain/apple-pmgr.c index 402c5b1fd1..88eafd0468 100644 --- a/drivers/power/domain/apple-pmgr.c +++ b/drivers/power/domain/apple-pmgr.c @@ -42,6 +42,16 @@ static int apple_reset_of_xlate(struct reset_ctl *reset_ctl, return 0; } +static int apple_reset_request(struct reset_ctl *reset_ctl) +{ + return 0; +} + +static int apple_reset_free(struct reset_ctl *reset_ctl) +{ + return 0; +} + static int apple_reset_assert(struct reset_ctl *reset_ctl) { struct apple_pmgr_priv *priv = dev_get_priv(reset_ctl->dev->parent); @@ -70,6 +80,8 @@ static int apple_reset_deassert(struct reset_ctl *reset_ctl) struct reset_ops apple_reset_ops = { .of_xlate = apple_reset_of_xlate, + .request = apple_reset_request, + .rfree = apple_reset_free, .rst_assert = apple_reset_assert, .rst_deassert = apple_reset_deassert, };
These were removed inadvertently in commit 20874a60722b. Fixes a crash on Apple M1 systems. Signed-off-by: Mark Kettenis <kettenis@openbsd.org> --- drivers/power/domain/apple-pmgr.c | 12 ++++++++++++ 1 file changed, 12 insertions(+)