X86 platform drivers
 help / color / mirror / Atom feed
* [PATCH v2] x86/platform/intel-mid: Revert "Make 'bt_sfi_data' const"
@ 2017-12-28 12:25 Andy Shevchenko
  2017-12-28 12:34 ` Ingo Molnar
  0 siblings, 1 reply; 4+ messages in thread
From: Andy Shevchenko @ 2017-12-28 12:25 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, H . Peter Anvin, x86, Andi Kleen,
	linux-kernel, Darren Hart, platform-driver-x86
  Cc: Andy Shevchenko, Bhumika Goyal, julia.lawall

The annoying static analyzer follow up patches sometimes make a pain
rather than fixing issues.

The one done by commit 276c87054751

("x86/platform/intel-mid: Make 'bt_sfi_data' const")

convert the struct to be const while it is used as a temporary container
for important data that is used to fill 'parent' and 'name' fields in
struct platform_device_info.

That's why revert the commit which had been apparently done w/o reading
the code.

Note, compiler doesn't notice this due to explicit cast, which would be
addressed separately.

Cc: Bhumika Goyal <bhumirks@gmail.com>
Cc: julia.lawall@lip6.fr
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
v2: low the tone of accusation that this made a regression
 arch/x86/platform/intel-mid/device_libs/platform_bt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/platform/intel-mid/device_libs/platform_bt.c b/arch/x86/platform/intel-mid/device_libs/platform_bt.c
index dc036e511f48..5a0483e7bf66 100644
--- a/arch/x86/platform/intel-mid/device_libs/platform_bt.c
+++ b/arch/x86/platform/intel-mid/device_libs/platform_bt.c
@@ -60,7 +60,7 @@ static int __init tng_bt_sfi_setup(struct bt_sfi_data *ddata)
 	return 0;
 }
 
-static const struct bt_sfi_data tng_bt_sfi_data __initdata = {
+static struct bt_sfi_data tng_bt_sfi_data __initdata = {
 	.setup	= tng_bt_sfi_setup,
 };
 
-- 
2.15.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] x86/platform/intel-mid: Revert "Make 'bt_sfi_data' const"
  2017-12-28 12:25 [PATCH v2] x86/platform/intel-mid: Revert "Make 'bt_sfi_data' const" Andy Shevchenko
@ 2017-12-28 12:34 ` Ingo Molnar
  2018-01-05 17:18   ` Andy Shevchenko
  0 siblings, 1 reply; 4+ messages in thread
From: Ingo Molnar @ 2017-12-28 12:34 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Thomas Gleixner, Ingo Molnar, H . Peter Anvin, x86, Andi Kleen,
	linux-kernel, Darren Hart, platform-driver-x86, Bhumika Goyal,
	julia.lawall


* Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:

> v2: low the tone of accusation that this made a regression

BTW., don't worry about that aspect too much: after a long debugging session it's 
pretty natural to be upset at whoever introduced a regression.

( In fact a number of times I too got upset at the moron who wrote a particular 
  piece of buggy code, only for 'git annotate' to remind me that the moron was me. )

I personally just ignore the emotional attributes, and I usually edit changelogs 
accordingly as well so the temporary state of mind of finding a regression doesn't 
trickle upstream.

Plus in this particular case if we can help type propagation for driver data to 
become a bit cleaner then the kernel project has gained a bit through all this 
pain.

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] x86/platform/intel-mid: Revert "Make 'bt_sfi_data' const"
  2017-12-28 12:34 ` Ingo Molnar
@ 2018-01-05 17:18   ` Andy Shevchenko
  2018-01-05 17:41     ` Julia Lawall
  0 siblings, 1 reply; 4+ messages in thread
From: Andy Shevchenko @ 2018-01-05 17:18 UTC (permalink / raw)
  To: Ingo Molnar, Fengguang Wu
  Cc: Thomas Gleixner, Ingo Molnar, H . Peter Anvin, x86, Andi Kleen,
	linux-kernel, Darren Hart, platform-driver-x86, Bhumika Goyal,
	julia.lawall

On Thu, 2017-12-28 at 13:34 +0100, Ingo Molnar wrote:
> * Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
> 
> > v2: low the tone of accusation that this made a regression
> 
> BTW., don't worry about that aspect too much: after a long debugging
> session it's 
> pretty natural to be upset at whoever introduced a regression.

It appears that regression has been introduced by a new dependency to
the hci_bcm.c.

In any case, can we apply this one to 4.15 cycle to make others prevent
do an actual regressions further:

commit 03838ae1e8f692dd2bdbd49820ed668d4b7bfbc2
Author: Andi Kleen <ak@linux.intel.com>
Date:   Fri Jan 5 13:26:44 2018 +1100

    arch/x86/platform/intel-mid/device_libs/platform_bt.c: fix const
confusion

> 
> ( In fact a number of times I too got upset at the moron who wrote a
> particular 
>   piece of buggy code, only for 'git annotate' to remind me that the
> moron was me. )
> 
> I personally just ignore the emotional attributes, and I usually edit
> changelogs 
> accordingly as well so the temporary state of mind of finding a
> regression doesn't 
> trickle upstream.
> 
> Plus in this particular case if we can help type propagation for
> driver data to 
> become a bit cleaner then the kernel project has gained a bit through
> all this 
> pain.

I has been thinking if 0day can complain about these:
1) castings in new code
2) applying const to older *working* code

Fengguang, what do you think?

-- 
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] x86/platform/intel-mid: Revert "Make 'bt_sfi_data' const"
  2018-01-05 17:18   ` Andy Shevchenko
@ 2018-01-05 17:41     ` Julia Lawall
  0 siblings, 0 replies; 4+ messages in thread
From: Julia Lawall @ 2018-01-05 17:41 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Ingo Molnar, Fengguang Wu, Thomas Gleixner, Ingo Molnar,
	H . Peter Anvin, x86, Andi Kleen, linux-kernel, Darren Hart,
	platform-driver-x86, Bhumika Goyal



On Fri, 5 Jan 2018, Andy Shevchenko wrote:

> On Thu, 2017-12-28 at 13:34 +0100, Ingo Molnar wrote:
> > * Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
> >
> > > v2: low the tone of accusation that this made a regression
> >
> > BTW., don't worry about that aspect too much: after a long debugging
> > session it's
> > pretty natural to be upset at whoever introduced a regression.
>
> It appears that regression has been introduced by a new dependency to
> the hci_bcm.c.
>
> In any case, can we apply this one to 4.15 cycle to make others prevent
> do an actual regressions further:
>
> commit 03838ae1e8f692dd2bdbd49820ed668d4b7bfbc2
> Author: Andi Kleen <ak@linux.intel.com>
> Date:   Fri Jan 5 13:26:44 2018 +1100
>
>     arch/x86/platform/intel-mid/device_libs/platform_bt.c: fix const
> confusion
>
> >
> > ( In fact a number of times I too got upset at the moron who wrote a
> > particular
> >   piece of buggy code, only for 'git annotate' to remind me that the
> > moron was me. )
> >
> > I personally just ignore the emotional attributes, and I usually edit
> > changelogs
> > accordingly as well so the temporary state of mind of finding a
> > regression doesn't
> > trickle upstream.
> >
> > Plus in this particular case if we can help type propagation for
> > driver data to
> > become a bit cleaner then the kernel project has gained a bit through
> > all this
> > pain.
>
> I has been thinking if 0day can complain about these:
> 1) castings in new code
> 2) applying const to older *working* code
>
> Fengguang, what do you think?

As suggested previously, I think it would be better if code that retrieves
const structures from nonconst fields would store the result in a const
variable.  Then the compiler would pick up the verification from there.  A
Coccinelle script can detect cases where this property does not hold, at
least within a single file.  This would have protected the given code and
still allowed constant structures to be made const.

julia

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-01-05 17:41 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-12-28 12:25 [PATCH v2] x86/platform/intel-mid: Revert "Make 'bt_sfi_data' const" Andy Shevchenko
2017-12-28 12:34 ` Ingo Molnar
2018-01-05 17:18   ` Andy Shevchenko
2018-01-05 17:41     ` Julia Lawall

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox