lkml.org 
[lkml]   [2016]   [Feb]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.16.y-ckt 149/180] mtd: nand: remove unused and buggy get_platform_nandchip() helper function
    Date
    3.16.7-ckt24 -stable review patch.  If anyone has any objections, please let me know.

    ---8<------------------------------------------------------------

    From: Boris BREZILLON <boris.brezillon@free-electrons.com>

    commit 8142b47ef33c655a34e08efd46b65732fe190675 upstream.

    Nobody uses the get_platform_nandchip() helper function which is supposed
    to return a pointer to a platform_nand_chip struct from an mtd_info
    pointer.
    Moreover, this function is buggy since the introduction of the plat_nand
    layer (chip->priv is now storing a pointer to an intermediate
    plat_nand_data structure allocated in plat_nand_probe(), and we have no
    way to retrieve a pointer to the provided platform_nand_chip struct from
    this plat_nand_data pointer).

    While we are at it, remove the useless (and buggy, since it's pointing to
    something stored on the stack) data->chip.priv assignment.

    Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
    Fixes: 711fdf627ce1 ("[MTD] [NAND] platform NAND driver: add driver")
    Cc: Vitaly Wool <vitalywool@gmail.com>
    Signed-off-by: Brian Norris <computersforpeace@gmail.com>
    [ luis: backported to 3.16: adjusted context ]
    Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
    ---
    drivers/mtd/nand/plat_nand.c | 1 -
    include/linux/mtd/nand.h | 9 ---------
    2 files changed, 10 deletions(-)

    diff --git a/drivers/mtd/nand/plat_nand.c b/drivers/mtd/nand/plat_nand.c
    index 0b068a5c0bff..d6fe74f5f208 100644
    --- a/drivers/mtd/nand/plat_nand.c
    +++ b/drivers/mtd/nand/plat_nand.c
    @@ -59,7 +59,6 @@ static int plat_nand_probe(struct platform_device *pdev)
    if (IS_ERR(data->io_base))
    return PTR_ERR(data->io_base);

    - data->chip.priv = &data;
    data->mtd.priv = &data->chip;
    data->mtd.owner = THIS_MODULE;
    data->mtd.name = dev_name(&pdev->dev);
    diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h
    index 2b468f73f53d..6ea81247968e 100644
    --- a/include/linux/mtd/nand.h
    +++ b/include/linux/mtd/nand.h
    @@ -882,15 +882,6 @@ struct platform_nand_data {
    struct platform_nand_ctrl ctrl;
    };

    -/* Some helpers to access the data structures */
    -static inline
    -struct platform_nand_chip *get_platform_nandchip(struct mtd_info *mtd)
    -{
    - struct nand_chip *chip = mtd->priv;
    -
    - return chip->priv;
    -}
    -
    /* return the supported features. */
    static inline int onfi_feature(struct nand_chip *chip)
    {
    \
     
     \ /
      Last update: 2016-02-04 00:41    [W:2.978 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site