Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2f983f8c authored by Bartosz Golaszewski's avatar Bartosz Golaszewski Committed by Sekhar Nori
Browse files

ARM: davinci: mityomapl138: use nvmem notifiers



Stop using the at24_platform_data setup callback in favor of nvmem
notifiers.

Signed-off-by: default avatarBartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: default avatarSekhar Nori <nsekhar@ti.com>
parent 19e99de9
Loading
Loading
Loading
Loading
+15 −3
Original line number Diff line number Diff line
@@ -15,6 +15,8 @@
#include <linux/console.h>
#include <linux/platform_device.h>
#include <linux/mtd/partitions.h>
#include <linux/notifier.h>
#include <linux/nvmem-consumer.h>
#include <linux/nvmem-provider.h>
#include <linux/regulator/machine.h>
#include <linux/i2c.h>
@@ -117,10 +119,15 @@ static void mityomapl138_cpufreq_init(const char *partnum)
static void mityomapl138_cpufreq_init(const char *partnum) { }
#endif

static void read_factory_config(struct nvmem_device *nvmem, void *context)
static int read_factory_config(struct notifier_block *nb,
			       unsigned long event, void *data)
{
	int ret;
	const char *partnum = NULL;
	struct nvmem_device *nvmem = data;

	if (strcmp(nvmem_dev_name(nvmem), "1-00500") != 0)
		return NOTIFY_DONE;

	if (!IS_BUILTIN(CONFIG_NVMEM)) {
		pr_warn("Factory Config not available without CONFIG_NVMEM\n");
@@ -152,8 +159,14 @@ static void read_factory_config(struct nvmem_device *nvmem, void *context)
bad_config:
	/* default maximum speed is valid for all platforms */
	mityomapl138_cpufreq_init(partnum);

	return NOTIFY_STOP;
}

static struct notifier_block mityomapl138_nvmem_notifier = {
	.notifier_call = read_factory_config,
};

/*
 * We don't define a cell for factory config as it will be accessed from the
 * board file using the nvmem notifier chain.
@@ -183,8 +196,6 @@ static struct at24_platform_data mityomapl138_fd_chip = {
	.byte_len	= 256,
	.page_size	= 8,
	.flags		= AT24_FLAG_READONLY | AT24_FLAG_IRUGO,
	.setup		= read_factory_config,
	.context	= NULL,
};

static struct davinci_i2c_platform_data mityomap_i2c_0_pdata = {
@@ -561,6 +572,7 @@ static void __init mityomapl138_init(void)

	davinci_serial_init(da8xx_serial_device);

	nvmem_register_notifier(&mityomapl138_nvmem_notifier);
	nvmem_add_cell_table(&mityomapl138_nvmem_cell_table);
	nvmem_add_cell_lookups(&mityomapl138_nvmem_cell_lookup, 1);