Server IP : 172.67.216.182 / Your IP : 172.70.143.70 Web Server : Apache System : Linux krdc-ubuntu-s-2vcpu-4gb-amd-blr1-01.localdomain 5.15.0-142-generic #152-Ubuntu SMP Mon May 19 10:54:31 UTC 2025 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/src/linux-headers-5.15.0-143/include/linux/mfd/ |
Upload File : |
/* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (C) 2007-2009 ST-Ericsson AB * * ABX500 core access functions. * The abx500 interface is used for the Analog Baseband chips. * * Author: Mattias Wallin <[email protected]> * Author: Mattias Nilsson <[email protected]> * Author: Bengt Jonsson <[email protected]> * Author: Rickard Andersson <[email protected]> */ #include <linux/regulator/machine.h> struct device; #ifndef MFD_ABX500_H #define MFD_ABX500_H /** * struct abx500_init_setting * Initial value of the registers for driver to use during setup. */ struct abx500_init_settings { u8 bank; u8 reg; u8 setting; }; int abx500_set_register_interruptible(struct device *dev, u8 bank, u8 reg, u8 value); int abx500_get_register_interruptible(struct device *dev, u8 bank, u8 reg, u8 *value); int abx500_get_register_page_interruptible(struct device *dev, u8 bank, u8 first_reg, u8 *regvals, u8 numregs); int abx500_set_register_page_interruptible(struct device *dev, u8 bank, u8 first_reg, u8 *regvals, u8 numregs); /** * abx500_mask_and_set_register_inerruptible() - Modifies selected bits of a * target register * * @dev: The AB sub device. * @bank: The i2c bank number. * @bitmask: The bit mask to use. * @bitvalues: The new bit values. * * Updates the value of an AB register: * value -> ((value & ~bitmask) | (bitvalues & bitmask)) */ int abx500_mask_and_set_register_interruptible(struct device *dev, u8 bank, u8 reg, u8 bitmask, u8 bitvalues); int abx500_get_chip_id(struct device *dev); int abx500_event_registers_startup_state_get(struct device *dev, u8 *event); int abx500_startup_irq_enabled(struct device *dev, unsigned int irq); struct abx500_ops { int (*get_chip_id) (struct device *); int (*get_register) (struct device *, u8, u8, u8 *); int (*set_register) (struct device *, u8, u8, u8); int (*get_register_page) (struct device *, u8, u8, u8 *, u8); int (*set_register_page) (struct device *, u8, u8, u8 *, u8); int (*mask_and_set_register) (struct device *, u8, u8, u8, u8); int (*event_registers_startup_state_get) (struct device *, u8 *); int (*startup_irq_enabled) (struct device *, unsigned int); void (*dump_all_banks) (struct device *); }; int abx500_register_ops(struct device *core_dev, struct abx500_ops *ops); void abx500_remove_ops(struct device *dev); #endif