public inbox for kernel-janitors@vger.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <rob.herring@calxeda.com>
To: kernel-janitors@vger.kernel.org
Subject: Re: [clk:hb_3.5 11/12] drivers/ata/ahci_platform.c:129:2: warning: initialization discards 'const' q
Date: Mon, 09 Jul 2012 02:44:24 +0000	[thread overview]
Message-ID: <4FFA4588.5070006@calxeda.com> (raw)
In-Reply-To: <20120708171751.GA19344@localhost>

On 07/08/2012 09:08 PM, Fengguang Wu wrote:
> On Mon, Jul 09, 2012 at 01:17:51AM +0800, wfg@linux.intel.com wrote:
>> Hi Rob,
>>
>> There are new compile warnings show up in
>>
>> tree:   git://sources.calxeda.com/kernel/linux.git hb_3.5
>> head:   67e0749b2f1c5908346485f5cb54af9f3a01e047
>> commit: df55ea8b7785fb704475ad562d445ac402719dc0 [11/12] ahci_platform: add custom hard reset for Calxeda ahci ctrlr
>>
>> All warnings:
>>
>>         drivers/ata/ahci_platform.c:125:9: sparse: Initializer entry defined twice
>>         drivers/ata/ahci_platform.c:125:9:   also defined here
> 
> That warning is due to
> 
>         #define AHCI_SHT(drv_name)                                              \
>                 ATA_NCQ_SHT(drv_name),                                          \
> =>             .can_queue              = AHCI_MAX_CMDS - 1,                    \
>                 .sg_tablesize           = AHCI_MAX_SG,                          \
>                 .dma_boundary           = AHCI_DMA_BOUNDARY,                    \
>                 .shost_attrs            = ahci_shost_attrs,                     \
> =>             .sdev_attrs             = ahci_sdev_attrs
> 
> Re initilizes .can_queue and sdev_attrs to different values that was initially
> defined in 
> 
>         #define ATA_BASE_SHT(drv_name)                                  \
>                 .module                 = THIS_MODULE,                  \
>                 .name                   = drv_name,                     \
>                 .ioctl                  = ata_scsi_ioctl,               \
>                 .queuecommand           = ata_scsi_queuecmd,            \
> =>             .can_queue              = ATA_DEF_QUEUE,                \
>                 .this_id                = ATA_SHT_THIS_ID,              \
>                 .cmd_per_lun            = ATA_SHT_CMD_PER_LUN,          \
>                 .emulated               = ATA_SHT_EMULATED,             \
>                 .use_clustering         = ATA_SHT_USE_CLUSTERING,       \
>                 .proc_name              = drv_name,                     \
>                 .slave_configure        = ata_scsi_slave_config,        \
>                 .slave_destroy          = ata_scsi_slave_destroy,       \
>                 .bios_param             = ata_std_bios_param,           \
>                 .unlock_native_capacity = ata_scsi_unlock_native_capacity, \
> =>             .sdev_attrs             = ata_common_sdev_attrs
> 
>         #define ATA_NCQ_SHT(drv_name)                                   \
>                 ATA_BASE_SHT(drv_name),                                 \
>                 .change_queue_depth     = ata_scsi_change_queue_depth
> 
> Perhaps not easily fixable..
> 
>>         drivers/ata/ahci_platform.c:129:67: sparse: incorrect type in initializer (different modifiers)
>>         drivers/ata/ahci_platform.c:129:67:    expected void *data
>>         drivers/ata/ahci_platform.c:129:67:    got struct ata_port_info static const [toplevel] *
>>         drivers/ata/ahci_platform.c:129:2: warning: initialization discards 'const' qualifier from pointer target type [enabled by default]
> 
> Rob,
> 
> Please consider folding this trivial fix for that warning.
> 
> diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c
> index 9a155ba..a7fcd0a 100644
> --- a/drivers/ata/ahci_platform.c
> +++ b/drivers/ata/ahci_platform.c
> @@ -126,7 +126,7 @@ static struct scsi_host_template ahci_platform_sht = {
>  };
>  
>  static const struct of_device_id ahci_of_match[] = {
> -	{ .compatible = "calxeda,hb-ahci", .data = &ahci_port_info[CALXEDA_AHCI], },
> +	{ .compatible = "calxeda,hb-ahci", .data = (void *)&ahci_port_info[CALXEDA_AHCI], },

I believe the warning is about const. Casting away the const is not the
right solution. There is a patch in flight to constify
of_device_id.data, but that has it's own challenges.

Rob

>  	{},
>  };
>  MODULE_DEVICE_TABLE(of, ahci_of_match);
> 


      parent reply	other threads:[~2012-07-09  2:44 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-08 17:17 [clk:hb_3.5 11/12] drivers/ata/ahci_platform.c:129:2: warning: initialization discards 'const' quali wfg
2012-07-09  2:08 ` [clk:hb_3.5 11/12] drivers/ata/ahci_platform.c:129:2: warning: initialization discards 'const' q Fengguang Wu
2012-07-09  2:44 ` Rob Herring [this message]

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=4FFA4588.5070006@calxeda.com \
    --to=rob.herring@calxeda.com \
    --cc=kernel-janitors@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox