* Re: add_mtd_partition question @ 2002-07-09 10:32 Clive Davies 2002-07-09 12:18 ` David Woodhouse 0 siblings, 1 reply; 9+ messages in thread From: Clive Davies @ 2002-07-09 10:32 UTC (permalink / raw) To: linux-mtd So if there are no objections, I'll commit the following change... Index: drivers/mtd/mtdpart.c =================================================================== RCS file: /home/cvs/mtd/drivers/mtd/mtdpart.c,v retrieving revision 1.27 diff -r1.27 mtdpart.c 231a232 > slave->mtd.priv=master->priv; ---------- Forwarded Message ---------- Subject: Re: add_mtd_partition question Date: Fri, 5 Jul 2002 08:58:27 +0100 From: Clive Davies <cdavies@altera.com> To: linux-mtd@lists.infradead.org Sorry, I meant slave->mtd.priv On Friday 05 July 2002 8:32 am, Clive Davies wrote: > Is there a reason why when you add a partition with add_mtd_partition > master->priv doesn't get copied into slave->priv ? If not, does anyone > object if I add it in? I'm trying to fix the read_user_prot_reg accesses > which no longer seem to work for me. > > Clive ------------------------------------------------------- ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: add_mtd_partition question 2002-07-09 10:32 add_mtd_partition question Clive Davies @ 2002-07-09 12:18 ` David Woodhouse 2002-07-09 13:40 ` Clive Davies 2002-07-10 7:23 ` Clive Davies 0 siblings, 2 replies; 9+ messages in thread From: David Woodhouse @ 2002-07-09 12:18 UTC (permalink / raw) To: Clive Davies; +Cc: linux-mtd cdavies@altera.com said: > So if there are no objections, I'll commit the following change... Er, why? It's private to the underlying MTD driver, and all the partition wrappers should be passing the _original_ mtd_info to the underlying driver, shouldn't they? -- dwmw2 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: add_mtd_partition question 2002-07-09 12:18 ` David Woodhouse @ 2002-07-09 13:40 ` Clive Davies 2002-07-10 7:23 ` Clive Davies 1 sibling, 0 replies; 9+ messages in thread From: Clive Davies @ 2002-07-09 13:40 UTC (permalink / raw) To: David Woodhouse; +Cc: linux-mtd > Er, why? It's private to the underlying MTD driver, and all the partition > wrappers should be passing the _original_ mtd_info to the underlying > driver, shouldn't they? Ok, I think I see where I've gone wrong. I'll try and fix it properly and then submit the changes for you to check for sanity. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: add_mtd_partition question 2002-07-09 12:18 ` David Woodhouse 2002-07-09 13:40 ` Clive Davies @ 2002-07-10 7:23 ` Clive Davies 2002-07-10 8:12 ` David Woodhouse 1 sibling, 1 reply; 9+ messages in thread From: Clive Davies @ 2002-07-10 7:23 UTC (permalink / raw) To: David Woodhouse; +Cc: linux-mtd I think this is probably a more correct fix. If you could let me know if it looks ok, if so then I'll commit it. Index: mtdpart.c =================================================================== RCS file: /home/cvs/mtd/drivers/mtd/mtdpart.c,v retrieving revision 1.27 diff -r1.27 mtdpart.c 72a73,88 > static int part_read_user_prot_reg (struct mtd_info *mtd, loff_t from, size_t len, > size_t *retlen, u_char *buf) > { > struct mtd_part *part = PART(mtd); > return part->master->read_user_prot_reg (part->master, from, > len, retlen, buf); > } > > static int part_read_fact_prot_reg (struct mtd_info *mtd, loff_t from, size_t len, > size_t *retlen, u_char *buf) > { > struct mtd_part *part = PART(mtd); > return part->master->read_user_prot_reg (part->master, from, > len, retlen, buf); > } > 100a117,124 > static int part_write_user_prot_reg (struct mtd_info *mtd, loff_t from, size_t len, > size_t *retlen, u_char *buf) > { > struct mtd_part *part = PART(mtd); > return part->master->write_user_prot_reg (part->master, from, > len, retlen, buf); > } > 229,231d252 < slave->mtd.read_user_prot_reg = master->read_user_prot_reg; < slave->mtd.read_fact_prot_reg = master->read_fact_prot_reg; < slave->mtd.write_user_prot_reg = master->write_user_prot_reg; 243a265,270 > if(master->read_user_prot_reg) > slave->mtd.read_user_prot_reg = part_read_user_prot_reg; > if(master->read_fact_prot_reg) > slave->mtd.read_fact_prot_reg = part_read_fact_prot_reg; > if(master->write_user_prot_reg) > slave->mtd.write_user_prot_reg = part_write_user_prot_reg; ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: add_mtd_partition question 2002-07-10 7:23 ` Clive Davies @ 2002-07-10 8:12 ` David Woodhouse 2002-07-10 8:22 ` Clive Davies 0 siblings, 1 reply; 9+ messages in thread From: David Woodhouse @ 2002-07-10 8:12 UTC (permalink / raw) To: Clive Davies; +Cc: linux-mtd cdavies@altera.com said: > I think this is probably a more correct fix. If you could let me know > if it looks ok, if so then I'll commit it. Please resend after echo "diff -up" >> ~/.cvsrc -- dwmw2 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: add_mtd_partition question 2002-07-10 8:12 ` David Woodhouse @ 2002-07-10 8:22 ` Clive Davies 2002-07-10 8:24 ` David Woodhouse 0 siblings, 1 reply; 9+ messages in thread From: Clive Davies @ 2002-07-10 8:22 UTC (permalink / raw) To: David Woodhouse; +Cc: linux-mtd > Please resend after > echo "diff -up" >> ~/.cvsrc Index: mtdpart.c =================================================================== RCS file: /home/cvs/mtd/drivers/mtd/mtdpart.c,v retrieving revision 1.27 diff -u -p -r1.27 mtdpart.c --- mtdpart.c 8 Mar 2002 16:34:35 -0000 1.27 +++ mtdpart.c 10 Jul 2002 08:22:04 -0000 @@ -70,6 +70,22 @@ static int part_read_oob (struct mtd_inf len, retlen, buf); } +static int part_read_user_prot_reg (struct mtd_info *mtd, loff_t from, size_t len, + size_t *retlen, u_char *buf) +{ + struct mtd_part *part = PART(mtd); + return part->master->read_user_prot_reg (part->master, from, + len, retlen, buf); +} + +static int part_read_fact_prot_reg (struct mtd_info *mtd, loff_t from, size_t len, + size_t *retlen, u_char *buf) +{ + struct mtd_part *part = PART(mtd); + return part->master->read_user_prot_reg (part->master, from, + len, retlen, buf); +} + static int part_write (struct mtd_info *mtd, loff_t to, size_t len, size_t *retlen, const u_char *buf) { @@ -98,6 +114,14 @@ static int part_write_oob (struct mtd_in len, retlen, buf); } +static int part_write_user_prot_reg (struct mtd_info *mtd, loff_t from, size_t len, + size_t *retlen, u_char *buf) +{ + struct mtd_part *part = PART(mtd); + return part->master->write_user_prot_reg (part->master, from, + len, retlen, buf); +} + static int part_writev (struct mtd_info *mtd, const struct iovec *vecs, unsigned long count, loff_t to, size_t *retlen) { @@ -226,9 +250,6 @@ int add_mtd_partitions(struct mtd_info * slave->mtd.oobsize = master->oobsize; slave->mtd.ecctype = master->ecctype; slave->mtd.eccsize = master->eccsize; - slave->mtd.read_user_prot_reg = master->read_user_prot_reg; - slave->mtd.read_fact_prot_reg = master->read_fact_prot_reg; - slave->mtd.write_user_prot_reg = master->write_user_prot_reg; slave->mtd.name = parts[i].name; slave->mtd.bank_size = master->bank_size; @@ -241,6 +262,12 @@ int add_mtd_partitions(struct mtd_info * slave->mtd.read_oob = part_read_oob; if (master->write_oob) slave->mtd.write_oob = part_write_oob; + if(master->read_user_prot_reg) + slave->mtd.read_user_prot_reg = part_read_user_prot_reg; + if(master->read_fact_prot_reg) + slave->mtd.read_fact_prot_reg = part_read_fact_prot_reg; + if(master->write_user_prot_reg) + slave->mtd.write_user_prot_reg = part_write_user_prot_reg; if (master->sync) slave->mtd.sync = part_sync; if (!i && master->suspend && master->resume) { ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: add_mtd_partition question 2002-07-10 8:22 ` Clive Davies @ 2002-07-10 8:24 ` David Woodhouse 0 siblings, 0 replies; 9+ messages in thread From: David Woodhouse @ 2002-07-10 8:24 UTC (permalink / raw) To: Clive Davies; +Cc: linux-mtd cdavies@altera.com said: > Please resend after > echo "diff -up" >> ~/.cvsrc > Index: mtdpart.c Oh, right -- yeah, now I can read it, it looks fine. Go ahead; thanks. -- dwmw2 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: add_mtd_partition question
@ 2002-07-05 7:58 Clive Davies
0 siblings, 0 replies; 9+ messages in thread
From: Clive Davies @ 2002-07-05 7:58 UTC (permalink / raw)
To: linux-mtd
Sorry, I meant slave->mtd.priv
On Friday 05 July 2002 8:32 am, Clive Davies wrote:
> Is there a reason why when you add a partition with add_mtd_partition
> master->priv doesn't get copied into slave->priv ? If not, does anyone
> object if I add it in? I'm trying to fix the read_user_prot_reg accesses
> which no longer seem to work for me.
>
> Clive
^ permalink raw reply [flat|nested] 9+ messages in thread* add_mtd_partition question @ 2002-07-05 7:32 Clive Davies 0 siblings, 0 replies; 9+ messages in thread From: Clive Davies @ 2002-07-05 7:32 UTC (permalink / raw) To: linux-mtd Is there a reason why when you add a partition with add_mtd_partition master->priv doesn't get copied into slave->priv ? If not, does anyone object if I add it in? I'm trying to fix the read_user_prot_reg accesses which no longer seem to work for me. Clive ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2002-07-10 8:24 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2002-07-09 10:32 add_mtd_partition question Clive Davies 2002-07-09 12:18 ` David Woodhouse 2002-07-09 13:40 ` Clive Davies 2002-07-10 7:23 ` Clive Davies 2002-07-10 8:12 ` David Woodhouse 2002-07-10 8:22 ` Clive Davies 2002-07-10 8:24 ` David Woodhouse -- strict thread matches above, loose matches on Subject: below -- 2002-07-05 7:58 Clive Davies 2002-07-05 7:32 Clive Davies
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox