ARM: davinci: mityomapl138: use nvmem notifiers
Stop using the at24_platform_data setup callback in favor of nvmem notifiers. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Signed-off-by: Sekhar Nori <nsekhar@ti.com>
This commit is contained in:
parent
19e99de9a5
commit
2f983f8c94
@ -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);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user