From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753107AbbJGLig (ORCPT ); Wed, 7 Oct 2015 07:38:36 -0400 Received: from mga02.intel.com ([134.134.136.20]:12974 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751306AbbJGLie (ORCPT ); Wed, 7 Oct 2015 07:38:34 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.17,648,1437462000"; d="gz'50?scan'50,208,50";a="805510716" Date: Wed, 7 Oct 2015 19:37:15 +0800 From: kbuild test robot To: Jiri Prchal Cc: kbuild-all@01.org, gregkh@linuxfoundation.org, srinivas.kandagatla@linaro.org, maxime.ripard@free-electrons.com, rafael.j.wysocki@intel.com, mika.westerberg@linux.intel.com, grant.likely@linaro.org, linux-kernel@vger.kernel.org, Jiri Prchal Subject: Re: [PATCH] misc: eeprom: at25: add Cypress FRAM functionality Message-ID: <201510071903.CLKYKnSX%fengguang.wu@intel.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="1yeeQ81UyVL57Vl7" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: fengguang.wu@intel.com X-SA-Exim-Scanned: No (on bee); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --1yeeQ81UyVL57Vl7 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi Jiri, [auto build test WARNING on v4.3-rc4 -- if it's inappropriate base, please ignore] config: x86_64-randconfig-x019-201540 (attached as .config) reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All warnings (new ones prefixed by >>): In file included from drivers/misc/eeprom/at25.c:17:0: drivers/misc/eeprom/at25.c: In function 'fm25_id_read': >> drivers/misc/eeprom/at25.c:170:3: warning: format '%Zd' expects argument of type 'signed size_t', but argument 4 has type 'int' [-Wformat=] "read %Zd bytes of ID --> %d\n", ^ include/linux/device.h:1180:31: note: in definition of macro 'dev_dbg' dev_printk(KERN_DEBUG, dev, format, ##arg); \ ^ drivers/misc/eeprom/at25.c: In function 'fm25_sernum_read': drivers/misc/eeprom/at25.c:200:3: warning: format '%Zd' expects argument of type 'signed size_t', but argument 4 has type 'int' [-Wformat=] "read %Zd bytes of serial number --> %d\n", ^ include/linux/device.h:1180:31: note: in definition of macro 'dev_dbg' dev_printk(KERN_DEBUG, dev, format, ##arg); \ ^ drivers/misc/eeprom/at25.c: In function 'at25_fw_to_chip': drivers/misc/eeprom/at25.c:401:43: warning: passing argument 3 of 'device_property_read_string' from incompatible pointer type [-Wincompatible-pointer-types] device_property_read_string(dev, "name", &name); ^ In file included from drivers/misc/eeprom/at25.c:22:0: include/linux/property.h:41:5: note: expected 'const char **' but argument is of type 'char **' int device_property_read_string(struct device *dev, const char *propname, ^ vim +170 drivers/misc/eeprom/at25.c 11 */ 12 13 #include 14 #include 15 #include 16 #include > 17 #include 18 #include 19 20 #include 21 #include 22 #include 23 #include 24 #include 25 26 /* 27 * NOTE: this is an *EEPROM* driver. The vagaries of product naming 28 * mean that some AT25 products are EEPROMs, and others are FLASH. 29 * Handle FLASH chips with the drivers/mtd/devices/m25p80.c driver, 30 * not this one! 31 */ 32 33 struct at25_data { 34 struct spi_device *spi; 35 struct memory_accessor mem; 36 struct mutex lock; 37 struct spi_eeprom chip; 38 struct bin_attribute bin; 39 unsigned addrlen; 40 int has_sernum; 41 }; 42 43 #define AT25_WREN 0x06 /* latch the write enable */ 44 #define AT25_WRDI 0x04 /* reset the write enable */ 45 #define AT25_RDSR 0x05 /* read status register */ 46 #define AT25_WRSR 0x01 /* write status register */ 47 #define AT25_READ 0x03 /* read byte(s) */ 48 #define AT25_WRITE 0x02 /* write byte(s)/sector */ 49 #define FM25_SLEEP 0xb9 /* enter sleep mode */ 50 #define FM25_RDID 0x9f /* read device ID */ 51 #define FM25_RDSN 0xc3 /* read S/N */ 52 53 #define AT25_SR_nRDY 0x01 /* nRDY = write-in-progress */ 54 #define AT25_SR_WEN 0x02 /* write enable (latched) */ 55 #define AT25_SR_BP0 0x04 /* BP for software writeprotect */ 56 #define AT25_SR_BP1 0x08 57 #define AT25_SR_WPEN 0x80 /* writeprotect enable */ 58 59 #define AT25_INSTR_BIT3 0x08 /* Additional address bit in instr */ 60 61 #define FM25_ID_LEN 9 /* ID lenght */ 62 #define FM25_SN_LEN 8 /* serial number lenght */ 63 64 #define EE_MAXADDRLEN 3 /* 24 bit addresses, up to 2 MBytes */ 65 66 /* Specs often allow 5 msec for a page write, sometimes 20 msec; 67 * it's important to recover from write timeouts. 68 */ 69 #define EE_TIMEOUT 25 70 71 #define IS_EEPROM 0 72 #define IS_FRAM 1 73 74 /*-------------------------------------------------------------------------*/ 75 76 #define io_limit PAGE_SIZE /* bytes */ 77 78 static ssize_t 79 at25_ee_read( 80 struct at25_data *at25, 81 char *buf, 82 unsigned offset, 83 size_t count 84 ) 85 { 86 u8 command[EE_MAXADDRLEN + 1]; 87 u8 *cp; 88 ssize_t status; 89 struct spi_transfer t[2]; 90 struct spi_message m; 91 u8 instr; 92 93 if (unlikely(offset >= at25->bin.size)) 94 return 0; 95 if ((offset + count) > at25->bin.size) 96 count = at25->bin.size - offset; 97 if (unlikely(!count)) 98 return count; 99 100 cp = command; 101 102 instr = AT25_READ; 103 if (at25->chip.flags & EE_INSTR_BIT3_IS_ADDR) 104 if (offset >= (1U << (at25->addrlen * 8))) 105 instr |= AT25_INSTR_BIT3; 106 *cp++ = instr; 107 108 /* 8/16/24-bit address is written MSB first */ 109 switch (at25->addrlen) { 110 default: /* case 3 */ 111 *cp++ = offset >> 16; 112 case 2: 113 *cp++ = offset >> 8; 114 case 1: 115 case 0: /* can't happen: for better codegen */ 116 *cp++ = offset >> 0; 117 } 118 119 spi_message_init(&m); 120 memset(t, 0, sizeof t); 121 122 t[0].tx_buf = command; 123 t[0].len = at25->addrlen + 1; 124 spi_message_add_tail(&t[0], &m); 125 126 t[1].rx_buf = buf; 127 t[1].len = count; 128 spi_message_add_tail(&t[1], &m); 129 130 mutex_lock(&at25->lock); 131 132 /* Read it all at once. 133 * 134 * REVISIT that's potentially a problem with large chips, if 135 * other devices on the bus need to be accessed regularly or 136 * this chip is clocked very slowly 137 */ 138 status = spi_sync(at25->spi, &m); 139 dev_dbg(&at25->spi->dev, 140 "read %Zd bytes at %d --> %d\n", 141 count, offset, (int) status); 142 143 mutex_unlock(&at25->lock); 144 return status ? status : count; 145 } 146 147 static ssize_t 148 fm25_id_read(struct at25_data *at25, char *buf) 149 { 150 u8 command = FM25_RDID; 151 ssize_t status; 152 struct spi_transfer t[2]; 153 struct spi_message m; 154 155 spi_message_init(&m); 156 memset(t, 0, sizeof t); 157 158 t[0].tx_buf = &command; 159 t[0].len = 1; 160 spi_message_add_tail(&t[0], &m); 161 162 t[1].rx_buf = buf; 163 t[1].len = FM25_ID_LEN; 164 spi_message_add_tail(&t[1], &m); 165 166 mutex_lock(&at25->lock); 167 168 status = spi_sync(at25->spi, &m); 169 dev_dbg(&at25->spi->dev, > 170 "read %Zd bytes of ID --> %d\n", 171 FM25_ID_LEN, (int) status); 172 173 mutex_unlock(&at25->lock); --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation --1yeeQ81UyVL57Vl7 Content-Type: application/octet-stream Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 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 9shNyaZ/NDU+NFMbAQA= --1yeeQ81UyVL57Vl7--