From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755040AbbJHI4F (ORCPT ); Thu, 8 Oct 2015 04:56:05 -0400 Received: from mail-pa0-f41.google.com ([209.85.220.41]:34568 "EHLO mail-pa0-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754909AbbJHI4A (ORCPT ); Thu, 8 Oct 2015 04:56:00 -0400 Date: Thu, 8 Oct 2015 14:25:50 +0530 From: Sudip Mukherjee To: Mark Brown Cc: Bard Liao , Oder Chiou , Liam Girdwood , Jaroslav Kysela , Takashi Iwai , linux-kernel@vger.kernel.org, alsa-devel@alsa-project.org Subject: Re: [PATCH] ASoC: rt5645: fix build warning Message-ID: <20151008085550.GA3806@sudip-pc> References: <1444220532-14199-1-git-send-email-sudipm.mukherjee@gmail.com> <20151007140527.GK12635@sirena.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20151007140527.GK12635@sirena.org.uk> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Oct 07, 2015 at 03:05:27PM +0100, Mark Brown wrote: > On Wed, Oct 07, 2015 at 05:52:12PM +0530, Sudip Mukherjee wrote: > > We were getting build warning about "Section mismatch". > > dmi_platform_intel_broadwell is being referenced from the probe function > > rt5645_i2c_probe(), but dmi_platform_intel_broadwell was marked with > > __initdata. > > > > Signed-off-by: Sudip Mukherjee > > > -static struct dmi_system_id dmi_platform_intel_broadwell[] __initdata = { > > +static struct dmi_system_id dmi_platform_intel_broadwell[] = { > > This doesn't seem like the obvious fix - why are we not annotating the > probe function suitably (or alternatively if we can't why does > __initdata still exist)? probe function should not be __init. probe can be called anytime after the module has been loaded. __initdata still exists as that part of the code was added by e9159e7577cf ("ASoC: rt5645: Add dmi for Broadwell") which is a very recent modification and I think that has been added by mistake. One more argument in my favor: The use in probe function is if (dmi_check_system(dmi_platform_intel_braswell) || dmi_check_system(dmi_platform_intel_broadwell)) dmi_platform_intel_braswell is not marked as __initdata but dmi_platform_intel_broadwell is marked but they both have same use at the same place. regards sudip