int i2c_eeprom_write(struct udevice *dev, int offset, uint8_t *buf, int size) { const struct i2c_eeprom_ops *ops = device_get_ops(dev); if (!ops->write) return -ENOSYS; return ops->write(dev, offset, buf, size); }
int demo_status(struct udevice *dev, int *status) { const struct demo_ops *ops = device_get_ops(dev); if (!ops->status) return -ENOSYS; return ops->status(dev, status); }
/* From here is the testfdt uclass code */ int testfdt_ping(struct udevice *dev, int pingval, int *pingret) { const struct test_ops *ops = device_get_ops(dev); if (!ops->ping) return -ENOSYS; return ops->ping(dev, pingval, pingret); }
int notrace timer_get_count(struct udevice *dev, u64 *count) { const struct timer_ops *ops = device_get_ops(dev); if (!ops->get_count) return -ENOSYS; return ops->get_count(dev, count); }
int demo_hello(struct udevice *dev, int ch) { const struct demo_ops *ops = device_get_ops(dev); if (!ops->hello) return -ENOSYS; return ops->hello(dev, ch); }
int misc_ioctl(struct udevice *dev, unsigned long request, void *buf) { const struct misc_ops *ops = device_get_ops(dev); if (!ops->ioctl) return -ENOSYS; return ops->ioctl(dev, request, buf); }
int misc_write(struct udevice *dev, int offset, void *buf, int size) { const struct misc_ops *ops = device_get_ops(dev); if (!ops->write) return -ENOSYS; return ops->write(dev, offset, buf, size); }
int rsa_mod_exp(struct udevice *dev, const uint8_t *sig, uint32_t sig_len, struct key_prop *node, uint8_t *out) { const struct mod_exp_ops *ops = device_get_ops(dev); if (!ops->mod_exp) return -ENOSYS; return ops->mod_exp(dev, sig, sig_len, node, out); }
int misc_call(struct udevice *dev, int msgid, void *tx_msg, int tx_size, void *rx_msg, int rx_size) { const struct misc_ops *ops = device_get_ops(dev); if (!ops->call) return -ENOSYS; return ops->call(dev, msgid, tx_msg, tx_size, rx_msg, rx_size); }
int dma_memcpy(void *dst, void *src, size_t len) { struct udevice *dev; const struct dma_ops *ops; int ret; ret = dma_get_device(DMA_SUPPORTS_MEM_TO_MEM, &dev); if (ret < 0) return ret; ops = device_get_ops(dev); if (!ops->transfer) return -ENOSYS; /* Invalidate the area, so no writeback into the RAM races with DMA */ invalidate_dcache_range((unsigned long)dst, (unsigned long)dst + roundup(len, ARCH_DMA_MINALIGN)); return ops->transfer(dev, DMA_MEM_TO_MEM, dst, src, len); }