From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steve Rae Date: Mon, 5 May 2014 09:53:21 -0700 Subject: [U-Boot] MMC: proposal to support multiple physical partitions In-Reply-To: References: <60711E2A-B295-4E18-AA45-57D50E6D17E3@antoniou-consulting.com> Message-ID: <5367C201.6030306@broadcom.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Pantelis, As per comments below, I suspect that adding another argument to the callback function is unacceptable. Please clarify! Thanks, Steve On 14-04-29 11:08 AM, Steve Rae wrote: > Thanks for the response, > >> -----Original Message----- >> From: Pantelis Antoniou [mailto:panto at antoniou-consulting.com] >> Sent: Tuesday, April 29, 2014 10:25 >> To: Steve Rae >> Cc: u-boot at lists.denx.de; trini at ti.com; albert.u.boot at aribaud.net >> Subject: Re: MMC: proposal to support multiple physical partitions >> >> Hi Steve, >> >> On Apr 24, 2014, at 8:50 PM, Steve Rae wrote: >> > [... snip ...] > >>> I have two different proposals: >>> 1) overload the "int dev_num" argument with encoded "dev_num" and >> "part_num" fields >>> - the dev_num in the [15:0] bits, >>> - the part_num in the [30:16] bits, >>> - a flag to indicate this encoding in [31] bit. >>> - and modify mmc_bread() to handle this encoded argument, and >> implement the above code... >>> 2) create a wrapper function to perform the above code, with an added >> argument "int part_num", possibly named: >>> - mmc_block_dev_block_read() -- so that it is similar to the original >> calling convention [mmc->block_dev.block_read], or >>> - mmc_pbread() [PartitionBlockRead] -- so that it is similar to the >> mmc_bread() [which is the implementation of the callback function] >> >> I'd rather go with the wrapper function. Perhaps it's not even needed. The >> function called is part of the block_dev (block_read/write etc). >> >> Overwrite those with functions that implemented the switching first, and >> then call the original block* function. >> > The callback function is: > mmc->block_dev.block_read = mmc_bread > and it accepts four arguments: > include/part.h: unsigned long (*block_read)(int dev, > include/part.h- lbaint_t start, > include/part.h- lbaint_t blkcnt, > include/part.h- void *buffer); > Are you suggesting that I should add another argument to this callback? > > [...snip...] > >> Regards >> >> -- Pantelis > _______________________________________________ > U-Boot mailing list > U-Boot at lists.denx.de > http://lists.denx.de/mailman/listinfo/u-boot >