All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tony Lindgren <tony@atomide.com>
To: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Cc: linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 08/11] ARM: OMAP2+: Remove unused legacy code for PRM
Date: Thu, 20 Jul 2017 22:55:10 -0700	[thread overview]
Message-ID: <20170721055510.GO10026@atomide.com> (raw)
In-Reply-To: <20170720144506.rjar4dxih6ixavcp@earth>

* Sebastian Reichel <sebastian.reichel@collabora.co.uk> [170720 07:45]:
> Hi,
> 
> On Fri, Jun 30, 2017 at 03:42:56AM -0700, Tony Lindgren wrote:
> > * Tony Lindgren <tony@atomide.com> [170531 15:55]:
> > > We are now booting all mach-omap2 in device tree only mode.
> > > Any code that is only called in legacy boot mode where
> > > of_have_populated_dt() is not set is safe to remove now.
> > ...
> > 
> > > diff --git a/arch/arm/mach-omap2/prm44xx.c b/arch/arm/mach-omap2/prm44xx.c
> > > --- a/arch/arm/mach-omap2/prm44xx.c
> > > +++ b/arch/arm/mach-omap2/prm44xx.c
> > ...
> > 
> > > -static int omap44xx_prm_late_init(void)
> > > -{
> > > -	int irq_num;
> > > -
> > > -	if (!(prm_features & PRM_HAS_IO_WAKEUP))
> > > -		return 0;
> > > -
> > > -	/* OMAP4+ is DT only now */
> > > -	if (!of_have_populated_dt())
> > > -		return 0;
> > 
> > Turns out I misread the above and this code is still needed for omap4 PRM
> > interrupts, so applying a partial revert below to fix it.
> 
> I just spent a couple of hours to tracing this and now saw, that you
> already did so. Why was this not part of the pull request? :(

Sorry I did not notice until I had sent out a pull request. I did
send a pull request for this and few other fixes on the 6th that is
still pending.

> > I probably missed this earlier as the comments used to say
> > "OMAP4+ is DT only now" for !of_have_populated_dt() to exit early and
> > missed the negative test. Let's not add those lines back as they are
> > confusing and no longer needed as we only boot in device tree mode.
> 
> haha, I came up with *exactly* the same patch and then noticed
> this mail when I checked for a Message-ID as reference :)

Sorry to hear about the duplicate work.

> > Without things things can mysterious fail for i2c, for example LM75
> > I2C temperature sensor can stop working as the PRM interrupts won't work.
> 
> Here is the demystification:
> 
> Without this fix omap4_pmx_core and omap4_pmx_wakeup will not
> register themself as interrupt controller, due to missing parent
> interrupt. This means, that any device referencing an interrupt
> in one of those controllers will fail their probe routine with
> -EPROBE_DEFER waiting for the interrupt controller to appear.
> At least for i2c this happens directly in the core, even before
> calling the driver's probe routine making this look quite
> mysterious.
> 
> TLDR: Fix "wakeup-source;" using devices on omap4.

Yup.

Regards,

Tony

WARNING: multiple messages have this Message-ID (diff)
From: tony@atomide.com (Tony Lindgren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 08/11] ARM: OMAP2+: Remove unused legacy code for PRM
Date: Thu, 20 Jul 2017 22:55:10 -0700	[thread overview]
Message-ID: <20170721055510.GO10026@atomide.com> (raw)
In-Reply-To: <20170720144506.rjar4dxih6ixavcp@earth>

* Sebastian Reichel <sebastian.reichel@collabora.co.uk> [170720 07:45]:
> Hi,
> 
> On Fri, Jun 30, 2017 at 03:42:56AM -0700, Tony Lindgren wrote:
> > * Tony Lindgren <tony@atomide.com> [170531 15:55]:
> > > We are now booting all mach-omap2 in device tree only mode.
> > > Any code that is only called in legacy boot mode where
> > > of_have_populated_dt() is not set is safe to remove now.
> > ...
> > 
> > > diff --git a/arch/arm/mach-omap2/prm44xx.c b/arch/arm/mach-omap2/prm44xx.c
> > > --- a/arch/arm/mach-omap2/prm44xx.c
> > > +++ b/arch/arm/mach-omap2/prm44xx.c
> > ...
> > 
> > > -static int omap44xx_prm_late_init(void)
> > > -{
> > > -	int irq_num;
> > > -
> > > -	if (!(prm_features & PRM_HAS_IO_WAKEUP))
> > > -		return 0;
> > > -
> > > -	/* OMAP4+ is DT only now */
> > > -	if (!of_have_populated_dt())
> > > -		return 0;
> > 
> > Turns out I misread the above and this code is still needed for omap4 PRM
> > interrupts, so applying a partial revert below to fix it.
> 
> I just spent a couple of hours to tracing this and now saw, that you
> already did so. Why was this not part of the pull request? :(

Sorry I did not notice until I had sent out a pull request. I did
send a pull request for this and few other fixes on the 6th that is
still pending.

> > I probably missed this earlier as the comments used to say
> > "OMAP4+ is DT only now" for !of_have_populated_dt() to exit early and
> > missed the negative test. Let's not add those lines back as they are
> > confusing and no longer needed as we only boot in device tree mode.
> 
> haha, I came up with *exactly* the same patch and then noticed
> this mail when I checked for a Message-ID as reference :)

Sorry to hear about the duplicate work.

> > Without things things can mysterious fail for i2c, for example LM75
> > I2C temperature sensor can stop working as the PRM interrupts won't work.
> 
> Here is the demystification:
> 
> Without this fix omap4_pmx_core and omap4_pmx_wakeup will not
> register themself as interrupt controller, due to missing parent
> interrupt. This means, that any device referencing an interrupt
> in one of those controllers will fail their probe routine with
> -EPROBE_DEFER waiting for the interrupt controller to appear.
> At least for i2c this happens directly in the core, even before
> calling the driver's probe routine making this look quite
> mysterious.
> 
> TLDR: Fix "wakeup-source;" using devices on omap4.

Yup.

Regards,

Tony

  reply	other threads:[~2017-07-21  5:55 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-31 22:51 [PATCH 00/11] Remove unused omap legacy code Tony Lindgren
2017-05-31 22:51 ` Tony Lindgren
2017-05-31 22:51 ` [PATCH 01/11] ARM: OMAP2+: Remove unused legacy code for opp Tony Lindgren
2017-05-31 22:51   ` Tony Lindgren
2017-05-31 22:51 ` [PATCH 02/11] ARM: OMAP2+: Remove unused legacy code for timer Tony Lindgren
2017-05-31 22:51   ` Tony Lindgren
2017-05-31 22:51 ` [PATCH 03/11] ARM: OMAP2+: Remove unused legacy code for PMU Tony Lindgren
2017-05-31 22:51   ` Tony Lindgren
2017-05-31 22:51 ` [PATCH 04/11] ARM: OMAP2+: Remove unused legacy code for device init Tony Lindgren
2017-05-31 22:51   ` Tony Lindgren
2017-06-07 22:27   ` Sebastian Reichel
2017-06-07 22:27     ` Sebastian Reichel
2017-06-08  8:28     ` Tony Lindgren
2017-06-08  8:28       ` Tony Lindgren
2017-06-08  9:47       ` Tony Lindgren
2017-06-08  9:47         ` Tony Lindgren
2017-06-08 10:55         ` Sebastian Reichel
2017-06-08 10:55           ` Sebastian Reichel
2017-06-08 11:10           ` Tony Lindgren
2017-06-08 11:10             ` Tony Lindgren
2017-05-31 22:51 ` [PATCH 05/11] ARM: OMAP2+: Remove unused legacy code for McBSP Tony Lindgren
2017-05-31 22:51   ` Tony Lindgren
2017-06-08  6:20   ` Peter Ujfalusi
2017-06-08  6:20     ` Peter Ujfalusi
2017-05-31 22:51 ` [PATCH 06/11] ARM: OMAP2+: Remove unused legacy code for io.c Tony Lindgren
2017-05-31 22:51   ` Tony Lindgren
2017-05-31 22:51 ` [PATCH 07/11] ARM: OMAP2+: Remove unused legacy code for DMA Tony Lindgren
2017-05-31 22:51   ` Tony Lindgren
2017-06-08  6:25   ` Peter Ujfalusi
2017-06-08  6:25     ` Peter Ujfalusi
2017-06-08  8:24     ` Tony Lindgren
2017-06-08  8:24       ` Tony Lindgren
2017-06-08  9:56       ` Tony Lindgren
2017-06-08  9:56         ` Tony Lindgren
2017-06-08 10:37         ` Peter Ujfalusi
2017-06-08 10:37           ` Peter Ujfalusi
2017-06-08 10:45           ` Tony Lindgren
2017-06-08 10:45             ` Tony Lindgren
2017-06-08 11:56             ` Bin Liu
2017-06-08 11:56               ` Bin Liu
2017-05-31 22:51 ` [PATCH 08/11] ARM: OMAP2+: Remove unused legacy code for PRM Tony Lindgren
2017-05-31 22:51   ` Tony Lindgren
2017-06-30 10:42   ` Tony Lindgren
2017-06-30 10:42     ` Tony Lindgren
2017-07-20 14:45     ` Sebastian Reichel
2017-07-20 14:45       ` Sebastian Reichel
2017-07-21  5:55       ` Tony Lindgren [this message]
2017-07-21  5:55         ` Tony Lindgren
2017-05-31 22:51 ` [PATCH 09/11] ARM: OMAP2+: Remove unused legacy code for interconnects Tony Lindgren
2017-05-31 22:51   ` Tony Lindgren
2017-05-31 22:51 ` [PATCH 10/11] ARM: OMAP2+: Remove unused legacy code for watchdog Tony Lindgren
2017-05-31 22:51   ` Tony Lindgren
2017-05-31 22:51 ` [PATCH 11/11] ARM: OMAP2+: Remove unused legacy code for n8x0 Tony Lindgren
2017-05-31 22:51   ` Tony Lindgren
2017-06-08  8:13 ` [PATCH 00/11] Remove unused omap legacy code Sebastian Reichel
2017-06-08  8:13   ` Sebastian Reichel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170721055510.GO10026@atomide.com \
    --to=tony@atomide.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=sebastian.reichel@collabora.co.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.