@@ -160,4 +160,21 @@ extern void __init fsmc_init_board_info(struct platform_device *pdev,
struct mtd_partition *partitions, unsigned int nr_partitions,
unsigned int width);
+/* This function is used to set platform data field of pdev->dev */
+static inline void fsmc_nand_set_plat_data(struct platform_device *pdev,
+ struct mtd_partition *partitions, unsigned int nr_partitions,
+ unsigned int options, unsigned int width)
+{
+ struct fsmc_nand_platform_data *plat_data;
+ plat_data = dev_get_platdata(&pdev->dev);
+
+ if (partitions) {
+ plat_data->partitions = partitions;
+ plat_data->nr_partitions = nr_partitions;
+ }
+
+ plat_data->options = options;
+ plat_data->width = width;
+}
+
#endif /* __MTD_FSMC_H */