diff mbox series

power: domain: apple: Restore reset ops that return 0

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

Commit Message

Mark Kettenis April 26, 2022, 5:14 p.m. UTC
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(+)

Comments

Marek Vasut April 26, 2022, 6:04 p.m. UTC | #1
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.
Mark Kettenis April 26, 2022, 6:21 p.m. UTC | #2
> 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.
Marek Vasut April 26, 2022, 7:01 p.m. UTC | #3
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.
Mark Kettenis April 26, 2022, 8:54 p.m. UTC | #4
> 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.
Marek Vasut April 26, 2022, 9:44 p.m. UTC | #5
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 mbox series

Patch

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,
 };