Re: [PATCH] mtd: Expose partition offset to the drivers
Hello Richard > > Hmm, will we ever need the new function for in-tree drivers? > In general we add new functions only if they have an in-tree user > for it. It is part of a driver for a camera at qtec.com . The policy so far has been that we offer the code to our clients but we cannot afford to push all the drivers to upstream, not because we don't want to, but because it is very time consuming and we are constantly improving the devices. Once there is a higher number of cameras on the field, I am pretty sure that there will be a group of people just pushing the drivers upstream. What we can afford now is trying to push the changes/improvement that we do the infrastructures, hoping that it will be useful for somebody else. So in the short term there will be no driver using the function but if we had that need I guess there is somebody else needing it. Regards! -- Ricardo Ribalda -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] mtd: Expose partition offset to the drivers
Hi! Am 02.02.2015 um 20:33 schrieb Ricardo Ribalda Delgado: > Hello > > On Mon, Feb 2, 2015 at 8:17 PM, Richard Weinberger > wrote: >> On Mon, Feb 2, 2015 at 5:22 PM, Ricardo Ribalda Delgado >> >> Can you please also send a patch which shows the usage of this new function >> by a driver? > > It is currently out of tree, but here you can see the relevant code: > > mtd_offset=mtd_get_device_offset(mtd); > put_mtd_device(mtd); > if (do_jmp){ > ret=qt5023_hwicap_reset(head,mtd_offset); > if (ret){ > dev_err(>pci_dev->dev,"error: Failed to jump to new bitfile\n"); > vfree(buffer); > release_firmware(firmware); > return -EIO; > } > qt5023_spi_restart(head); > } Hmm, will we ever need the new function for in-tree drivers? In general we add new functions only if they have an in-tree user for it. Thanks, //richard -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] mtd: Expose partition offset to the drivers
Hello On Mon, Feb 2, 2015 at 8:17 PM, Richard Weinberger wrote: > On Mon, Feb 2, 2015 at 5:22 PM, Ricardo Ribalda Delgado > > Can you please also send a patch which shows the usage of this new function > by a driver? It is currently out of tree, but here you can see the relevant code: mtd_offset=mtd_get_device_offset(mtd); put_mtd_device(mtd); if (do_jmp){ ret=qt5023_hwicap_reset(head,mtd_offset); if (ret){ dev_err(>pci_dev->dev,"error: Failed to jump to new bitfile\n"); vfree(buffer); release_firmware(firmware); return -EIO; } qt5023_spi_restart(head); } Thanks -- Ricardo Ribalda -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] mtd: Expose partition offset to the drivers
On Mon, Feb 2, 2015 at 5:22 PM, Ricardo Ribalda Delgado wrote: > Currently, there is no way to find out the offset of an mtd partition by > a driver. This might be needed by external hardware. > > For example, a flash containing the firmware of an external device that > is also accessible by the main cpu/kernel. > > The flash is big enough to have two partitions with 2 versions of the > firmware, so we can have a safe upgrade. > > Once the flash has been updated we need the real offset, so we can write > it on the external device registers. Can you please also send a patch which shows the usage of this new function by a driver? -- Thanks, //richard -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] mtd: Expose partition offset to the drivers
Currently, there is no way to find out the offset of an mtd partition by a driver. This might be needed by external hardware. For example, a flash containing the firmware of an external device that is also accessible by the main cpu/kernel. The flash is big enough to have two partitions with 2 versions of the firmware, so we can have a safe upgrade. Once the flash has been updated we need the real offset, so we can write it on the external device registers. Signed-off-by: Ricardo Ribalda Delgado --- drivers/mtd/mtdpart.c | 8 include/linux/mtd/partitions.h | 1 + 2 files changed, 9 insertions(+) diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c index a3e3a7d..8047e74 100644 --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c @@ -784,3 +784,11 @@ uint64_t mtd_get_device_size(const struct mtd_info *mtd) return PART(mtd)->master->size; } EXPORT_SYMBOL_GPL(mtd_get_device_size); + +uint64_t mtd_get_device_offset(const struct mtd_info *mtd){ + if (!mtd_is_partition(mtd)) + return 0; + + return PART(mtd)->offset; +} +EXPORT_SYMBOL_GPL(mtd_get_device_offset); diff --git a/include/linux/mtd/partitions.h b/include/linux/mtd/partitions.h index 6a35e6d..2b953b4 100644 --- a/include/linux/mtd/partitions.h +++ b/include/linux/mtd/partitions.h @@ -84,5 +84,6 @@ int mtd_add_partition(struct mtd_info *master, const char *name, long long offset, long long length); int mtd_del_partition(struct mtd_info *master, int partno); uint64_t mtd_get_device_size(const struct mtd_info *mtd); +uint64_t mtd_get_device_offset(const struct mtd_info *mtd); #endif -- 2.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] mtd: Expose partition offset to the drivers
Hi! Am 02.02.2015 um 20:33 schrieb Ricardo Ribalda Delgado: Hello On Mon, Feb 2, 2015 at 8:17 PM, Richard Weinberger richard.weinber...@gmail.com wrote: On Mon, Feb 2, 2015 at 5:22 PM, Ricardo Ribalda Delgado Can you please also send a patch which shows the usage of this new function by a driver? It is currently out of tree, but here you can see the relevant code: mtd_offset=mtd_get_device_offset(mtd); put_mtd_device(mtd); if (do_jmp){ ret=qt5023_hwicap_reset(head,mtd_offset); if (ret){ dev_err(head-pci_dev-dev,error: Failed to jump to new bitfile\n); vfree(buffer); release_firmware(firmware); return -EIO; } qt5023_spi_restart(head); } Hmm, will we ever need the new function for in-tree drivers? In general we add new functions only if they have an in-tree user for it. Thanks, //richard -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] mtd: Expose partition offset to the drivers
Hello Richard Hmm, will we ever need the new function for in-tree drivers? In general we add new functions only if they have an in-tree user for it. It is part of a driver for a camera at qtec.com . The policy so far has been that we offer the code to our clients but we cannot afford to push all the drivers to upstream, not because we don't want to, but because it is very time consuming and we are constantly improving the devices. Once there is a higher number of cameras on the field, I am pretty sure that there will be a group of people just pushing the drivers upstream. What we can afford now is trying to push the changes/improvement that we do the infrastructures, hoping that it will be useful for somebody else. So in the short term there will be no driver using the function but if we had that need I guess there is somebody else needing it. Regards! -- Ricardo Ribalda -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] mtd: Expose partition offset to the drivers
Currently, there is no way to find out the offset of an mtd partition by a driver. This might be needed by external hardware. For example, a flash containing the firmware of an external device that is also accessible by the main cpu/kernel. The flash is big enough to have two partitions with 2 versions of the firmware, so we can have a safe upgrade. Once the flash has been updated we need the real offset, so we can write it on the external device registers. Signed-off-by: Ricardo Ribalda Delgado ricardo.riba...@gmail.com --- drivers/mtd/mtdpart.c | 8 include/linux/mtd/partitions.h | 1 + 2 files changed, 9 insertions(+) diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c index a3e3a7d..8047e74 100644 --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c @@ -784,3 +784,11 @@ uint64_t mtd_get_device_size(const struct mtd_info *mtd) return PART(mtd)-master-size; } EXPORT_SYMBOL_GPL(mtd_get_device_size); + +uint64_t mtd_get_device_offset(const struct mtd_info *mtd){ + if (!mtd_is_partition(mtd)) + return 0; + + return PART(mtd)-offset; +} +EXPORT_SYMBOL_GPL(mtd_get_device_offset); diff --git a/include/linux/mtd/partitions.h b/include/linux/mtd/partitions.h index 6a35e6d..2b953b4 100644 --- a/include/linux/mtd/partitions.h +++ b/include/linux/mtd/partitions.h @@ -84,5 +84,6 @@ int mtd_add_partition(struct mtd_info *master, const char *name, long long offset, long long length); int mtd_del_partition(struct mtd_info *master, int partno); uint64_t mtd_get_device_size(const struct mtd_info *mtd); +uint64_t mtd_get_device_offset(const struct mtd_info *mtd); #endif -- 2.1.4 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] mtd: Expose partition offset to the drivers
On Mon, Feb 2, 2015 at 5:22 PM, Ricardo Ribalda Delgado ricardo.riba...@gmail.com wrote: Currently, there is no way to find out the offset of an mtd partition by a driver. This might be needed by external hardware. For example, a flash containing the firmware of an external device that is also accessible by the main cpu/kernel. The flash is big enough to have two partitions with 2 versions of the firmware, so we can have a safe upgrade. Once the flash has been updated we need the real offset, so we can write it on the external device registers. Can you please also send a patch which shows the usage of this new function by a driver? -- Thanks, //richard -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] mtd: Expose partition offset to the drivers
Hello On Mon, Feb 2, 2015 at 8:17 PM, Richard Weinberger richard.weinber...@gmail.com wrote: On Mon, Feb 2, 2015 at 5:22 PM, Ricardo Ribalda Delgado Can you please also send a patch which shows the usage of this new function by a driver? It is currently out of tree, but here you can see the relevant code: mtd_offset=mtd_get_device_offset(mtd); put_mtd_device(mtd); if (do_jmp){ ret=qt5023_hwicap_reset(head,mtd_offset); if (ret){ dev_err(head-pci_dev-dev,error: Failed to jump to new bitfile\n); vfree(buffer); release_firmware(firmware); return -EIO; } qt5023_spi_restart(head); } Thanks -- Ricardo Ribalda -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/