/Linux-v5.4/drivers/power/supply/ |
D | abx500_chargalg.c | 289 struct abx500_chargalg *di = container_of(timer, struct abx500_chargalg, in abx500_chargalg_safety_timer_expired() local 291 dev_err(di->dev, "Safety timer expired\n"); in abx500_chargalg_safety_timer_expired() 292 di->events.safety_timer_expired = true; in abx500_chargalg_safety_timer_expired() 295 queue_work(di->chargalg_wq, &di->chargalg_work); in abx500_chargalg_safety_timer_expired() 312 struct abx500_chargalg *di = container_of(timer, struct abx500_chargalg, in abx500_chargalg_maintenance_timer_expired() local 315 dev_dbg(di->dev, "Maintenance timer expired\n"); in abx500_chargalg_maintenance_timer_expired() 316 di->events.maintenance_timer_expired = true; in abx500_chargalg_maintenance_timer_expired() 319 queue_work(di->chargalg_wq, &di->chargalg_work); in abx500_chargalg_maintenance_timer_expired() 330 static void abx500_chargalg_state_to(struct abx500_chargalg *di, in abx500_chargalg_state_to() argument 333 dev_dbg(di->dev, in abx500_chargalg_state_to() [all …]
|
D | ab8500_charger.c | 342 static void ab8500_enable_disable_sw_fallback(struct ab8500_charger *di, in ab8500_enable_disable_sw_fallback() argument 351 dev_dbg(di->dev, "SW Fallback: %d\n", fallback); in ab8500_enable_disable_sw_fallback() 353 if (is_ab8500(di->parent)) { in ab8500_enable_disable_sw_fallback() 364 ret = abx500_get_register_interruptible(di->dev, bank, reg, &val); in ab8500_enable_disable_sw_fallback() 366 dev_err(di->dev, "%d read failed\n", __LINE__); in ab8500_enable_disable_sw_fallback() 370 if (is_ab8500(di->parent)) { in ab8500_enable_disable_sw_fallback() 372 ret = abx500_set_register_interruptible(di->dev, 0x11, 0x00, 0x2); in ab8500_enable_disable_sw_fallback() 374 dev_err(di->dev, "%d write failed\n", __LINE__); in ab8500_enable_disable_sw_fallback() 385 ret = abx500_set_register_interruptible(di->dev, bank, reg, val); in ab8500_enable_disable_sw_fallback() 387 dev_err(di->dev, "%d write failed\n", __LINE__); in ab8500_enable_disable_sw_fallback() [all …]
|
D | ab8500_fg.c | 361 static int ab8500_fg_is_low_curr(struct ab8500_fg *di, int curr) in ab8500_fg_is_low_curr() argument 366 if (curr > -di->bm->fg_params->high_curr_threshold) in ab8500_fg_is_low_curr() 380 static int ab8500_fg_add_cap_sample(struct ab8500_fg *di, int sample) in ab8500_fg_add_cap_sample() argument 383 struct ab8500_fg_avg_cap *avg = &di->avg_cap; in ab8500_fg_add_cap_sample() 414 static void ab8500_fg_clear_cap_samples(struct ab8500_fg *di) in ab8500_fg_clear_cap_samples() argument 417 struct ab8500_fg_avg_cap *avg = &di->avg_cap; in ab8500_fg_clear_cap_samples() 437 static void ab8500_fg_fill_cap_sample(struct ab8500_fg *di, int sample) in ab8500_fg_fill_cap_sample() argument 441 struct ab8500_fg_avg_cap *avg = &di->avg_cap; in ab8500_fg_fill_cap_sample() 464 static int ab8500_fg_coulomb_counter(struct ab8500_fg *di, bool enable) in ab8500_fg_coulomb_counter() argument 467 mutex_lock(&di->cc_lock); in ab8500_fg_coulomb_counter() [all …]
|
D | ds2760_battery.c | 263 static int ds2760_battery_read_status(struct ds2760_device_info *di) in ds2760_battery_read_status() argument 267 if (di->update_time && time_before(jiffies, di->update_time + in ds2760_battery_read_status() 273 if (di->update_time == 0) { in ds2760_battery_read_status() 281 ret = w1_ds2760_read(di->dev, di->raw + start, start, count); in ds2760_battery_read_status() 283 dev_warn(di->dev, "call to w1_ds2760_read failed (0x%p)\n", in ds2760_battery_read_status() 284 di->dev); in ds2760_battery_read_status() 288 di->update_time = jiffies; in ds2760_battery_read_status() 292 di->voltage_raw = (di->raw[DS2760_VOLTAGE_MSB] << 3) | in ds2760_battery_read_status() 293 (di->raw[DS2760_VOLTAGE_LSB] >> 5); in ds2760_battery_read_status() 294 di->voltage_uV = di->voltage_raw * 4880; in ds2760_battery_read_status() [all …]
|
D | ab8500_btemp.c | 140 static int ab8500_btemp_batctrl_volt_to_res(struct ab8500_btemp *di, in ab8500_btemp_batctrl_volt_to_res() argument 145 if (is_ab8500_1p1_or_earlier(di->parent)) { in ab8500_btemp_batctrl_volt_to_res() 153 if (di->bm->adc_therm == ABx500_ADC_THERM_BATCTRL) { in ab8500_btemp_batctrl_volt_to_res() 159 - di->bm->gnd_lift_resistance * inst_curr) in ab8500_btemp_batctrl_volt_to_res() 160 / di->curr_source; in ab8500_btemp_batctrl_volt_to_res() 178 static int ab8500_btemp_read_batctrl_voltage(struct ab8500_btemp *di) in ab8500_btemp_read_batctrl_voltage() argument 183 vbtemp = ab8500_gpadc_convert(di->gpadc, BAT_CTRL); in ab8500_btemp_read_batctrl_voltage() 185 dev_err(di->dev, in ab8500_btemp_read_batctrl_voltage() 201 static int ab8500_btemp_curr_source_enable(struct ab8500_btemp *di, in ab8500_btemp_curr_source_enable() argument 211 if (is_ab8500_1p1_or_earlier(di->parent)) in ab8500_btemp_curr_source_enable() [all …]
|
D | bq27xxx_battery.c | 845 #define BQ27XXX_DM_BUF(di, i) { \ argument 846 .class = (di)->dm_regs[i].subclass_id, \ 847 .block = (di)->dm_regs[i].offset / BQ27XXX_DM_SZ, \ 880 struct bq27xxx_device_info *di; in poll_interval_param_set() local 889 list_for_each_entry(di, &bq27xxx_battery_devices, list) { in poll_interval_param_set() 890 cancel_delayed_work_sync(&di->work); in poll_interval_param_set() 891 schedule_delayed_work(&di->work, 0); in poll_interval_param_set() 912 static inline int bq27xxx_read(struct bq27xxx_device_info *di, int reg_index, in bq27xxx_read() argument 917 if (!di || di->regs[reg_index] == INVALID_REG_ADDR) in bq27xxx_read() 920 ret = di->bus.read(di, di->regs[reg_index], single); in bq27xxx_read() [all …]
|
D | rx51_battery.c | 41 static int rx51_battery_read_voltage(struct rx51_device_info *di) in rx51_battery_read_voltage() argument 43 int voltage = rx51_battery_read_adc(di->channel_vbat); in rx51_battery_read_voltage() 46 dev_err(di->dev, "Could not read ADC: %d\n", voltage); in rx51_battery_read_voltage() 93 static int rx51_battery_read_temperature(struct rx51_device_info *di) in rx51_battery_read_temperature() argument 97 int raw = rx51_battery_read_adc(di->channel_temp); in rx51_battery_read_temperature() 100 dev_err(di->dev, "Could not read ADC: %d\n", raw); in rx51_battery_read_temperature() 132 static int rx51_battery_read_capacity(struct rx51_device_info *di) in rx51_battery_read_capacity() argument 134 int capacity = rx51_battery_read_adc(di->channel_bsi); in rx51_battery_read_capacity() 137 dev_err(di->dev, "Could not read ADC: %d\n", capacity); in rx51_battery_read_capacity() 151 struct rx51_device_info *di = power_supply_get_drvdata(psy); in rx51_battery_get_property() local [all …]
|
D | bq27xxx_battery_i2c.c | 29 struct bq27xxx_device_info *di = data; in bq27xxx_battery_irq_handler_thread() local 31 bq27xxx_battery_update(di); in bq27xxx_battery_irq_handler_thread() 36 static int bq27xxx_battery_i2c_read(struct bq27xxx_device_info *di, u8 reg, in bq27xxx_battery_i2c_read() argument 39 struct i2c_client *client = to_i2c_client(di->dev); in bq27xxx_battery_i2c_read() 71 static int bq27xxx_battery_i2c_write(struct bq27xxx_device_info *di, u8 reg, in bq27xxx_battery_i2c_write() argument 74 struct i2c_client *client = to_i2c_client(di->dev); in bq27xxx_battery_i2c_write() 103 static int bq27xxx_battery_i2c_bulk_read(struct bq27xxx_device_info *di, u8 reg, in bq27xxx_battery_i2c_bulk_read() argument 106 struct i2c_client *client = to_i2c_client(di->dev); in bq27xxx_battery_i2c_bulk_read() 120 static int bq27xxx_battery_i2c_bulk_write(struct bq27xxx_device_info *di, in bq27xxx_battery_i2c_bulk_write() argument 123 struct i2c_client *client = to_i2c_client(di->dev); in bq27xxx_battery_i2c_bulk_write() [all …]
|
D | bq27xxx_battery_hdq.c | 47 static int bq27xxx_battery_hdq_read(struct bq27xxx_device_info *di, u8 reg, in bq27xxx_battery_hdq_read() argument 50 struct w1_slave *sl = dev_to_w1_slave(di->dev); in bq27xxx_battery_hdq_read() 84 struct bq27xxx_device_info *di; in bq27xxx_battery_hdq_add_slave() local 86 di = devm_kzalloc(&sl->dev, sizeof(*di), GFP_KERNEL); in bq27xxx_battery_hdq_add_slave() 87 if (!di) in bq27xxx_battery_hdq_add_slave() 90 dev_set_drvdata(&sl->dev, di); in bq27xxx_battery_hdq_add_slave() 92 di->dev = &sl->dev; in bq27xxx_battery_hdq_add_slave() 93 di->chip = BQ27000; in bq27xxx_battery_hdq_add_slave() 94 di->name = "bq27000-battery"; in bq27xxx_battery_hdq_add_slave() 95 di->bus.read = bq27xxx_battery_hdq_read; in bq27xxx_battery_hdq_add_slave() [all …]
|
/Linux-v5.4/drivers/net/wireless/broadcom/brcm80211/brcmsmac/ |
D | dma.c | 38 #define DMA64TXREGOFFS(di, field) (di->d64txregbase + DMA64REGOFFS(field)) argument 39 #define DMA64RXREGOFFS(di, field) (di->d64rxregbase + DMA64REGOFFS(field)) argument 313 static uint txd(struct dma_info *di, uint x) in txd() argument 315 return xxd(x, di->ntxd); in txd() 318 static uint rxd(struct dma_info *di, uint x) in rxd() argument 320 return xxd(x, di->nrxd); in rxd() 323 static uint nexttxd(struct dma_info *di, uint i) in nexttxd() argument 325 return txd(di, i + 1); in nexttxd() 328 static uint prevtxd(struct dma_info *di, uint i) in prevtxd() argument 330 return txd(di, i - 1); in prevtxd() [all …]
|
/Linux-v5.4/drivers/regulator/ |
D | fan53555.c | 112 struct fan53555_device_info *di = rdev_get_drvdata(rdev); in fan53555_set_suspend_voltage() local 115 if (di->sleep_vol_cache == uV) in fan53555_set_suspend_voltage() 120 ret = regmap_update_bits(rdev->regmap, di->sleep_reg, in fan53555_set_suspend_voltage() 121 di->desc.vsel_mask, ret); in fan53555_set_suspend_voltage() 126 di->sleep_vol_cache = uV; in fan53555_set_suspend_voltage() 133 struct fan53555_device_info *di = rdev_get_drvdata(rdev); in fan53555_set_suspend_enable() local 135 return regmap_update_bits(rdev->regmap, di->sleep_reg, in fan53555_set_suspend_enable() 141 struct fan53555_device_info *di = rdev_get_drvdata(rdev); in fan53555_set_suspend_disable() local 143 return regmap_update_bits(rdev->regmap, di->sleep_reg, in fan53555_set_suspend_disable() 149 struct fan53555_device_info *di = rdev_get_drvdata(rdev); in fan53555_set_mode() local [all …]
|
D | sy8824x.c | 39 struct sy8824_device_info *di = rdev_get_drvdata(rdev); in sy8824_set_mode() local 40 const struct sy8824_config *cfg = di->cfg; in sy8824_set_mode() 59 struct sy8824_device_info *di = rdev_get_drvdata(rdev); in sy8824_get_mode() local 60 const struct sy8824_config *cfg = di->cfg; in sy8824_get_mode() 86 static int sy8824_regulator_register(struct sy8824_device_info *di, in sy8824_regulator_register() argument 89 struct regulator_desc *rdesc = &di->desc; in sy8824_regulator_register() 90 const struct sy8824_config *cfg = di->cfg; in sy8824_regulator_register() 106 rdev = devm_regulator_register(di->dev, &di->desc, config); in sy8824_regulator_register() 120 struct sy8824_device_info *di; in sy8824_i2c_probe() local 125 di = devm_kzalloc(dev, sizeof(struct sy8824_device_info), GFP_KERNEL); in sy8824_i2c_probe() [all …]
|
/Linux-v5.4/drivers/gpu/ipu-v3/ |
D | ipu-di.c | 123 static inline u32 ipu_di_read(struct ipu_di *di, unsigned offset) in ipu_di_read() argument 125 return readl(di->base + offset); in ipu_di_read() 128 static inline void ipu_di_write(struct ipu_di *di, u32 value, unsigned offset) in ipu_di_write() argument 130 writel(value, di->base + offset); in ipu_di_write() 133 static void ipu_di_data_wave_config(struct ipu_di *di, in ipu_di_data_wave_config() argument 140 ipu_di_write(di, reg, DI_DW_GEN(wave_gen)); in ipu_di_data_wave_config() 143 static void ipu_di_data_pin_config(struct ipu_di *di, int wave_gen, int di_pin, in ipu_di_data_pin_config() argument 148 reg = ipu_di_read(di, DI_DW_GEN(wave_gen)); in ipu_di_data_pin_config() 151 ipu_di_write(di, reg, DI_DW_GEN(wave_gen)); in ipu_di_data_pin_config() 153 ipu_di_write(di, (down << 16) | up, DI_DW_SET(wave_gen, set)); in ipu_di_data_pin_config() [all …]
|
/Linux-v5.4/Documentation/translations/it_IT/process/ |
D | adding-syscalls.rst | 8 Aggiungere una nuova chiamata di sistema 12 nuove chiamate di sistema al kernel Linux; questo è da considerarsi come 17 Alternative alle chiamate di sistema 20 La prima considerazione da fare quando si aggiunge una nuova chiamata di 21 sistema è quella di valutare le alternative. Nonostante le chiamate di sistema 22 siano il punto di interazione fra spazio utente e kernel più tradizionale ed 26 - Se le operazioni coinvolte possono rassomigliare a quelle di un filesystem, 27 allora potrebbe avere molto più senso la creazione di un nuovo filesystem o 34 di file all'oggetto corrispondente permette allo spazio utente di 47 considerata un'interfaccia di 'produzione' verso lo spazio utente. [all …]
|
D | 2.Process.rst | 8 Come funziona il processo di sviluppo 12 un numero di utenti e sviluppatori relativamente basso. Con una base 13 di milioni di utenti e con 2000 sviluppatori coinvolti nel giro di un anno, 14 il kernel da allora ha messo in atto un certo numero di procedure per rendere 15 lo sviluppo più agevole. È richiesta una solida conoscenza di come tale 21 Gli sviluppatori kernel utilizzano un calendario di rilascio generico, dove 36 rilascio 4.x contiene quasi 13,000 gruppi di modifiche con ulteriori 37 modifiche a parecchie migliaia di linee di codice. La 4.x. è pertanto la 38 linea di confine nello sviluppo del kernel Linux; il kernel utilizza un sistema 39 di sviluppo continuo che integra costantemente nuove importanti modifiche. [all …]
|
D | 4.Coding.rst | 11 Nonostante ci sia molto da dire sul processo di creazione, sulla sua solidità 12 e sul suo orientamento alla comunità, la prova di ogni progetto di sviluppo 15 qualità di questo codice che determinerà il successo finale del progetto. 17 Questa sezione esaminerà il processo di codifica. Inizieremo con uno sguardo 28 Il kernel ha da tempo delle norme sullo stile di codifica che sono descritte in 31 praticamente informativa. Ne risulta che ci sia una quantità sostanziale di 33 La presenza di quel codice conduce a due distinti pericoli per gli 36 Il primo di questi è credere che gli standard di codifica del kernel 40 riformulato prima che anche solo lo revisionino. Una base di codice larga 42 per gli sviluppatori una comprensione veloce di ogni sua parte. Non ci sono, [all …]
|
D | 1.Intro.rst | 14 Il resto di questa sezione riguarda il processo di sviluppo del kernel e 15 quella sorta di frustrazione che gli sviluppatori e i loro datori di lavoro 19 differenti modalità, e la capacità di influenzare la direzione dello sviluppo 24 La sezione :ref:`it_development_process` introduce il processo di sviluppo, 25 il ciclo di rilascio del kernel, ed i meccanismi della finestra 26 d'incorporazione. Il capitolo copre le varie fasi di una modifica: sviluppo, 28 liste di discussione. Gli sviluppatori che sono in attesa di poter sviluppare 33 pianificazione di un progetto di sviluppo, con particolare enfasi sul 36 La sezione :ref:`it_development_coding` riguarda il processo di scrittura 42 La sezione :ref:`it_development_posting` parla del processo di pubblicazione [all …]
|
D | 3.Early-stage.rst | 11 Osservando un progetto di sviluppo per il kernel Linux, si potrebbe essere 14 viene fatta prima che una sola linea di codice venga scritta. Il tempo speso 21 Come qualsiasi progetto ingegneristico, un miglioramento del kernel di 26 può portare all'emergere di problemi. 35 lista di discussione linux-kernel, dove incontrò subito dei problemi. 37 Per gli sviluppatori audio, questo modulo di sicurezza era sufficiente a 41 e un rischio per la stabilità del sistema. Le loro soluzioni di punta nel 46 La comunità audio, comunque, non poteva vedere al di là della singola 48 Il conseguente dissenso lasciò in quegli sviluppatori un senso di 49 disillusione nei confronti dell'intero processo di sviluppo; uno di loro [all …]
|
D | volatile-considered-harmful.rst | 12 essere cambiate al di fuori dal thread di esecuzione corrente; come risultato, 15 *volatile* come una variabile atomica di facile utilizzo, ma non è così. 16 L'uso di *volatile* nel kernel non è quasi mai corretto; questo documento ne 19 Il punto chiave da capire su *volatile* è che il suo scopo è quello di 23 Il processo di protezione contro gli accessi concorrenti indesiderati eviterà 28 (spinlock, mutex, barriere di sincronizzazione, ecc) sono progettate per 30 non ci sarà bisogno di utilizzare *volatile*. Se vi sembra che *volatile* sia 32 In un pezzo di codice kernel scritto a dovere, *volatile* può solo servire a 35 Considerate questo tipico blocco di codice kernel:: 42 Se tutto il codice seguisse le regole di sincronizzazione, il valore di un [all …]
|
D | maintainer-pgp-guide.rst | 23 Il ruolo di PGP nello sviluppo del kernel Linux 27 di sviluppo del kernel e, in secondo luogo, stabilisce canali di comunicazione 28 affidabili tra sviluppatori attraverso lo scambio di email firmate con PGP. 33 - repositori distribuiti di sorgenti (git) 34 - rilasci periodici di istantanee (archivi tar) 40 hanno sul loro posto di lavoro. A tal scopo: 50 Fin dal 2011, quando i sistemi di kernel.org furono compromessi, il principio 51 generale del progetto Kernel Archives è stato quello di assumere che qualsiasi 56 pratiche di sicurezza messe in atto. 60 non sia fatto semplicemente per incolpare qualcun'altro per future falle di [all …]
|
D | deprecated.rst | 14 In un mondo perfetto, sarebbe possibile prendere tutti gli usi di 16 possibile rimuovere la vecchia interfaccia in un singolo ciclo di sviluppo. 18 le tempistiche, non è sempre possibile fare questo tipo di conversione tutta 19 in una volta. Questo significa che nuove istanze di una vecchia interfaccia 20 potrebbero aggiungersi al kernel proprio quando si sta cercando di rimuoverle, 21 aumentando così il carico di lavoro. Al fine di istruire gli sviluppatori su 30 perché uno degli obiettivi del kernel è quello di compilare senza avvisi; 32 di `__deprecated` in un file d'intestazione sia opportuno per segnare una 37 Calcoli codificati negli argomenti di un allocatore 40 dovrebbero essere fatto negli argomenti di funzioni di allocazione di memoria [all …]
|
D | howto.rst | 11 Questo è il documento fulcro di quanto trattato sull'argomento. 13 del kernel Linux e spiega come lavorare con la comunità di 19 vi preghiamo di inviare le correzioni agli amministratori di questo 26 questo dispositivo". Bene, l'obbiettivo di questo documento è quello 27 di insegnarvi tutto ciò che dovete sapere per raggiungere il vostro 30 di spiegare alcune delle ragioni per le quali la comunità lavora in un 36 L'assembly (di qualsiasi architettura) non è richiesto, a meno che non 37 pensiate di fare dello sviluppo di basso livello per un'architettura. 39 linguaggio C o ad anni di esperienza, i seguenti libri sono, se non 42 - "The C Programming Language" di Kernighan e Ritchie [Prentice Hall] [all …]
|
/Linux-v5.4/fs/btrfs/ |
D | xattr.c | 26 struct btrfs_dir_item *di; in btrfs_getxattr() local 38 di = btrfs_lookup_xattr(NULL, root, path, btrfs_ino(BTRFS_I(inode)), in btrfs_getxattr() 40 if (!di) { in btrfs_getxattr() 43 } else if (IS_ERR(di)) { in btrfs_getxattr() 44 ret = PTR_ERR(di); in btrfs_getxattr() 51 ret = btrfs_dir_data_len(leaf, di); in btrfs_getxattr() 56 if (btrfs_dir_data_len(leaf, di) > size) { in btrfs_getxattr() 68 data_ptr = (unsigned long)((char *)(di + 1) + in btrfs_getxattr() 69 btrfs_dir_name_len(leaf, di)); in btrfs_getxattr() 71 btrfs_dir_data_len(leaf, di)); in btrfs_getxattr() [all …]
|
/Linux-v5.4/drivers/gpu/drm/vmwgfx/ |
D | vmwgfx_msg.c | 89 unsigned long eax, ebx, ecx, edx, si = 0, di = 0; in vmw_open_channel() local 92 (protocol | GUESTMSG_FLAG_COOKIE), si, di, in vmw_open_channel() 95 eax, ebx, ecx, edx, si, di); in vmw_open_channel() 102 channel->cookie_low = di; in vmw_open_channel() 118 unsigned long eax, ebx, ecx, edx, si, di; in vmw_close_channel() local 122 di = channel->cookie_low; in vmw_close_channel() 125 0, si, di, in vmw_close_channel() 128 eax, ebx, ecx, edx, si, di); in vmw_close_channel() 148 unsigned long si, di, eax, ebx, ecx, edx; in vmw_port_hb_out() local 155 di = channel->cookie_low; in vmw_port_hb_out() [all …]
|
/Linux-v5.4/fs/bfs/ |
D | inode.c | 36 struct bfs_inode *di; in bfs_iget() local 61 di = (struct bfs_inode *)bh->b_data + off; in bfs_iget() 63 inode->i_mode = 0x0000FFFF & le32_to_cpu(di->i_mode); in bfs_iget() 64 if (le32_to_cpu(di->i_vtype) == BFS_VDIR) { in bfs_iget() 68 } else if (le32_to_cpu(di->i_vtype) == BFS_VREG) { in bfs_iget() 75 BFS_I(inode)->i_sblock = le32_to_cpu(di->i_sblock); in bfs_iget() 76 BFS_I(inode)->i_eblock = le32_to_cpu(di->i_eblock); in bfs_iget() 77 BFS_I(inode)->i_dsk_ino = le16_to_cpu(di->i_ino); in bfs_iget() 78 i_uid_write(inode, le32_to_cpu(di->i_uid)); in bfs_iget() 79 i_gid_write(inode, le32_to_cpu(di->i_gid)); in bfs_iget() [all …]
|