• Home
  • Raw
  • Download

Lines Matching +full:u +full:- +full:boot +full:- +full:env

1 // SPDX-License-Identifier: GPL-2.0-only
12 #include <linux/nvmem-consumer.h>
13 #include <linux/nvmem-provider.h>
54 struct device *dev = priv->dev; in u_boot_env_read()
58 err = mtd_read(priv->mtd, offset, bytes, &bytes_read, val); in u_boot_env_read()
66 return -EIO; in u_boot_env_read()
77 if (bytes != 3 * ETH_ALEN - 1) in u_boot_env_read_post_process_ethaddr()
78 return -EINVAL; in u_boot_env_read_post_process_ethaddr()
81 return -EINVAL; in u_boot_env_read_post_process_ethaddr()
94 struct nvmem_device *nvmem = priv->nvmem; in u_boot_env_add_cells()
95 struct device *dev = priv->dev; in u_boot_env_add_cells()
112 return -ENOMEM; in u_boot_env_add_cells()
113 info.offset = data_offset + value - data; in u_boot_env_add_cells()
115 info.np = of_get_child_by_name(dev->of_node, info.name); in u_boot_env_add_cells()
130 struct nvmem_device *nvmem = priv->nvmem; in u_boot_env_parse()
131 struct device *dev = priv->dev; in u_boot_env_parse()
149 err = -ENOMEM; in u_boot_env_parse()
158 err = -EIO; in u_boot_env_parse()
162 switch (priv->format) { in u_boot_env_parse()
181 dev_err(dev, "Device too small for u-boot-env\n"); in u_boot_env_parse()
182 err = -EIO; in u_boot_env_parse()
188 crc32_data_len = dev_size - crc32_data_offset; in u_boot_env_parse()
189 data_len = dev_size - data_offset; in u_boot_env_parse()
194 err = -EINVAL; in u_boot_env_parse()
198 buf[dev_size - 1] = '\0'; in u_boot_env_parse()
210 .name = "u-boot-env", in u_boot_env_probe()
213 struct device *dev = &pdev->dev; in u_boot_env_probe()
214 struct device_node *np = dev->of_node; in u_boot_env_probe()
219 return -ENOMEM; in u_boot_env_probe()
220 priv->dev = dev; in u_boot_env_probe()
222 priv->format = (uintptr_t)of_device_get_match_data(dev); in u_boot_env_probe()
224 priv->mtd = of_get_mtd_device_by_node(np); in u_boot_env_probe()
225 if (IS_ERR(priv->mtd)) { in u_boot_env_probe()
226 dev_err_probe(dev, PTR_ERR(priv->mtd), "Failed to get %pOF MTD\n", np); in u_boot_env_probe()
227 return PTR_ERR(priv->mtd); in u_boot_env_probe()
232 config.size = priv->mtd->size; in u_boot_env_probe()
234 priv->nvmem = devm_nvmem_register(dev, &config); in u_boot_env_probe()
235 if (IS_ERR(priv->nvmem)) in u_boot_env_probe()
236 return PTR_ERR(priv->nvmem); in u_boot_env_probe()
242 { .compatible = "u-boot,env", .data = (void *)U_BOOT_FORMAT_SINGLE, },
243 { .compatible = "u-boot,env-redundant-bool", .data = (void *)U_BOOT_FORMAT_REDUNDANT, },
244 { .compatible = "u-boot,env-redundant-count", .data = (void *)U_BOOT_FORMAT_REDUNDANT, },
245 { .compatible = "brcm,env", .data = (void *)U_BOOT_FORMAT_BROADCOM, },