Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1488006
| From | Boris Brezillon <boris.brezillon@free-electrons.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH v2 01/46] mtdpart: Propagate _get/put_device() |
| Date | 2016-09-21 12:20 +0200 |
| Message-ID | <sjMNc-7My-5@gated-at.bofh.it> (permalink) |
| References | <sjMk9-7il-1@gated-at.bofh.it> <sjMka-7il-19@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Wed, 21 Sep 2016 11:43:56 +0200
Daniel Walter <dwalter@sigma-star.at> wrote:
> From: Richard Weinberger <richard@nod.at>
>
> If the master device has callbacks for _get/put_device()
> and this MTD has slaves a get_mtd_device() call on paritions
> will never issue the registered callbacks.
> Fix this by propagating _get/put_device() down.
Brian, can we have this one queued for 4.9? I can't take it in my tree
if you want, but it's probably better if it's in the mtd tree.
>
> Reviewed-by: Boris Brezillon <boris.brezillon@free-electrons.com>
> Signed-off-by: Richard Weinberger <richard@nod.at>
> ---
> drivers/mtd/mtdpart.c | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
>
> diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c
> index 1f13e32..ec852fa 100644
> --- a/drivers/mtd/mtdpart.c
> +++ b/drivers/mtd/mtdpart.c
> @@ -317,6 +317,18 @@ static int part_block_markbad(struct mtd_info *mtd, loff_t ofs)
> return res;
> }
>
> +static int part_get_device(struct mtd_info *mtd)
> +{
> + struct mtd_part *part = mtd_to_part(mtd);
> + return part->master->_get_device(part->master);
> +}
> +
> +static void part_put_device(struct mtd_info *mtd)
> +{
> + struct mtd_part *part = mtd_to_part(mtd);
> + part->master->_put_device(part->master);
> +}
> +
> static int part_ooblayout_ecc(struct mtd_info *mtd, int section,
> struct mtd_oob_region *oobregion)
> {
> @@ -463,6 +475,12 @@ static struct mtd_part *allocate_partition(struct mtd_info *master,
> slave->mtd._block_isbad = part_block_isbad;
> if (master->_block_markbad)
> slave->mtd._block_markbad = part_block_markbad;
> +
> + if (master->_get_device)
> + slave->mtd._get_device = part_get_device;
> + if (master->_put_device)
> + slave->mtd._put_device = part_put_device;
> +
> slave->mtd._erase = part_erase;
> slave->master = master;
> slave->offset = part->offset;
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH v2 00/46] Nandsim facelift (part I of II) Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 11:50 +0200
[PATCH v2 13/46] mtd: nandsim: Add final logic for multiple instances Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 11:50 +0200
[PATCH v2 12/46] mtd: nandsim: Make debugfs logic multi instance capable Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 11:50 +0200
[PATCH v2 09/46] mtd: nandsim: Don't directly use module parameters Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 11:50 +0200
[PATCH v2 08/46] mtd: nandsim: Kill global nsmtd Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 11:50 +0200
[PATCH v2 04/46] mtd: Don't unconditionally execute remove notifiers Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 11:50 +0200
[PATCH v2 05/46] mtd: Don't print a scary message when trying to remove a busy MTD Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 11:50 +0200
[PATCH v2 02/46] mtd: nand: Provide nand_cleanup() function to free NAND related resources Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 11:50 +0200
Re: [PATCH v2 02/46] mtd: nand: Provide nand_cleanup() function to free NAND related resources Boris Brezillon <boris.brezillon@free-electrons.com> - 2016-09-21 12:00 +0200
Re: [PATCH v2 02/46] mtd: nand: Provide nand_cleanup() function to free NAND related resources kbuild test robot <lkp@intel.com> - 2016-09-21 14:50 +0200
Re: [PATCH v2 02/46] mtd: nand: Provide nand_cleanup() function to free NAND related resources Boris Brezillon <boris.brezillon@free-electrons.com> - 2016-09-21 16:30 +0200
Re: [PATCH v2 02/46] mtd: nand: Provide nand_cleanup() function to free NAND related resources Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 16:50 +0200
Re: [PATCH v2 02/46] mtd: nand: Provide nand_cleanup() function to free NAND related resources Boris Brezillon <boris.brezillon@free-electrons.com> - 2016-09-21 16:50 +0200
[PATCH v2 01/46] mtdpart: Propagate _get/put_device() Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 11:50 +0200
Re: [PATCH v2 01/46] mtdpart: Propagate _get/put_device() Boris Brezillon <boris.brezillon@free-electrons.com> - 2016-09-21 12:20 +0200
[PATCH v2 14/46] mtd: nandsim: Add simulator id to MTD parition name Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 11:50 +0200
[PATCH v2 07/46] mtd: nandsim: Begin with removal of global state Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 11:50 +0200
[PATCH v2 15/46] mtd: nandsim: Introduce backend operations Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 11:50 +0200
[PATCH v2 10/46] mtd: nandsim: Add helper functions for pointer magic Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 11:50 +0200
[PATCH v2 11/46] mtd: nandsim: Factor out nandsim parameters Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 11:50 +0200
[PATCH v2 03/46] mtd: Don't unconditionally unregister reboot notifier Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 11:50 +0200
Re: [PATCH v2 03/46] mtd: Don't unconditionally unregister reboot notifier Boris Brezillon <boris.brezillon@free-electrons.com> - 2016-09-21 16:40 +0200
Re: [PATCH v2 03/46] mtd: Don't unconditionally unregister reboot notifier Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 16:40 +0200
[PATCH v2 24/46] mtd: nandsim: Wire up NANDSIM_MODE_CACHEFILE ioctl mode Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 12:00 +0200
[PATCH v2 38/46] mtd: nandsim: Expose partition creation logic to user space Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 12:00 +0200
[PATCH v2 31/46] mtd: nandsim: Remove NS_RAW_OFFSET_OOB Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 12:00 +0200
[PATCH v2 35/46] mtd: nandsim: Make NANDSIM_MAX_DEVICES part of uapi Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 12:00 +0200
[PATCH v2 40/46] mtd: nandsim: Expose BBT, delays, etc.. to userspace Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 12:00 +0200
[PATCH v2 22/46] mtd: nandsim: Cleanup destroy handlers Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 12:00 +0200
[PATCH v2 33/46] mtd: nandsim: Relax page size restrictions Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 12:00 +0200
[PATCH v2 32/46] mtd: nandsim: Remove NS_IS_INITIALIZED Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 12:00 +0200
[PATCH v2 45/46] mtd: nandsim: Always answer all 8 bytes from NAND_CMD_READID Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 12:00 +0200
[PATCH v2 17/46] mtd: nandsim: Allow external backends Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 12:00 +0200
[PATCH v2 44/46] mtd: nandsim: Wire up NANDSIM_IOC_DESTROY_INSTANCE Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 12:00 +0200
[PATCH v2 21/46] mtd: nandsim: Implement preliminary destructor function Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 12:00 +0200
Re: [PATCH v2 21/46] mtd: nandsim: Implement preliminary destructor function kbuild test robot <lkp@intel.com> - 2016-09-21 15:00 +0200
[PATCH v2 29/46] um: Add nandsim backend driver Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 12:00 +0200
[PATCH v2 39/46] mtd: nandsim: Rework init error paths Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 12:00 +0200
[PATCH v2 28/46] mtd: nandsim: Refine exports Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 12:00 +0200
[PATCH v2 26/46] mtd: nandsim: use the existing output macros Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 12:00 +0200
[PATCH v2 36/46] mtd: nandsim: Cleanup constants Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 12:00 +0200
[PATCH v2 16/46] mtd: nandsim: Print error when backend init failed Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 12:00 +0200
[PATCH v2 25/46] mtd: nandsim: Print backend name Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 12:00 +0200
[PATCH v2 23/46] mtd: nandsim: Unify file backend init logic Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 12:00 +0200
[PATCH v2 34/46] mtd: nandsim: Support bitflip and read error emulation in file backend Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 12:00 +0200
[PATCH v2 43/46] mtd: nandsim: Wire up NANDSIM_IOC_NEW_INSTANCE Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 12:00 +0200
[PATCH v2 41/46] mtd: nandsim: Expose support for weakpages/blocks to userspace Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 12:00 +0200
[PATCH v2 46/46] mtd/nandsim: Add ioctl for info Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 12:00 +0200
[PATCH v2 19/46] mtd: nandsim: UAPI v1 Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 12:00 +0200
[PATCH v2 20/46] mtd: nandsim: Implement preliminary constructor function Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 12:00 +0200
[PATCH v2 18/46] mtd: nandsim: Add basic support for a file backend Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 12:00 +0200
[PATCH v2 37/46] mtd: nandsim: Turn parts[] into a integer Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 12:00 +0200
[PATCH v2 27/46] mtd: nandsim: Add no_oob mode Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 12:00 +0200
[PATCH v2 42/46] mtd: nandsim: Don't printk on ENOMEM Daniel Walter <dwalter@sigma-star.at> - 2016-09-21 12:00 +0200
csiph-web