Home
last modified time | relevance | path

Searched full:di (Results 1 – 25 of 616) sorted by relevance

12345678910>>...25

/openbmc/linux/drivers/power/supply/
H A Dab8500_chargalg.c265 struct ab8500_chargalg *di = container_of(timer, struct ab8500_chargalg, in ab8500_chargalg_safety_timer_expired() local
267 dev_err(di->dev, "Safety timer expired\n"); in ab8500_chargalg_safety_timer_expired()
268 di->events.safety_timer_expired = true; in ab8500_chargalg_safety_timer_expired()
271 queue_work(di->chargalg_wq, &di->chargalg_work); in ab8500_chargalg_safety_timer_expired()
288 struct ab8500_chargalg *di = container_of(timer, struct ab8500_chargalg, in ab8500_chargalg_maintenance_timer_expired() local
291 dev_dbg(di->dev, "Maintenance timer expired\n"); in ab8500_chargalg_maintenance_timer_expired()
292 di->events.maintenance_timer_expired = true; in ab8500_chargalg_maintenance_timer_expired()
295 queue_work(di->chargalg_wq, &di->chargalg_work); in ab8500_chargalg_maintenance_timer_expired()
302 * @di: pointer to the ab8500_chargalg structure
306 static void ab8500_chargalg_state_to(struct ab8500_chargalg *di, in ab8500_chargalg_state_to() argument
[all …]
H A Dab8500_fg.c359 * @di: pointer to the ab8500_fg structure
364 static int ab8500_fg_is_low_curr(struct ab8500_fg *di, int curr_ua) in ab8500_fg_is_low_curr() argument
369 if (curr_ua > -di->bm->fg_params->high_curr_threshold_ua) in ab8500_fg_is_low_curr()
377 * @di: pointer to the ab8500_fg structure
383 static int ab8500_fg_add_cap_sample(struct ab8500_fg *di, int sample) in ab8500_fg_add_cap_sample() argument
386 struct ab8500_fg_avg_cap *avg = &di->avg_cap; in ab8500_fg_add_cap_sample()
413 * @di: pointer to the ab8500_fg structure
417 static void ab8500_fg_clear_cap_samples(struct ab8500_fg *di) in ab8500_fg_clear_cap_samples() argument
420 struct ab8500_fg_avg_cap *avg = &di->avg_cap; in ab8500_fg_clear_cap_samples()
435 * @di: pointer to the ab8500_fg structure
[all …]
H A Dab8500_charger.c350 static void ab8500_enable_disable_sw_fallback(struct ab8500_charger *di, in ab8500_enable_disable_sw_fallback() argument
359 dev_dbg(di->dev, "SW Fallback: %d\n", fallback); in ab8500_enable_disable_sw_fallback()
361 if (is_ab8500(di->parent)) { in ab8500_enable_disable_sw_fallback()
372 ret = abx500_get_register_interruptible(di->dev, bank, reg, &val); in ab8500_enable_disable_sw_fallback()
374 dev_err(di->dev, "%d read failed\n", __LINE__); in ab8500_enable_disable_sw_fallback()
378 if (is_ab8500(di->parent)) { in ab8500_enable_disable_sw_fallback()
380 ret = abx500_set_register_interruptible(di->dev, 0x11, 0x00, 0x2); in ab8500_enable_disable_sw_fallback()
382 dev_err(di->dev, "%d write failed\n", __LINE__); in ab8500_enable_disable_sw_fallback()
393 ret = abx500_set_register_interruptible(di->dev, bank, reg, val); in ab8500_enable_disable_sw_fallback()
395 dev_err(di->dev, "%d write failed\n", __LINE__); in ab8500_enable_disable_sw_fallback()
[all …]
H A Dds2760_battery.c255 static int ds2760_battery_read_status(struct ds2760_device_info *di) in ds2760_battery_read_status() argument
259 if (di->update_time && time_before(jiffies, di->update_time + in ds2760_battery_read_status()
265 if (di->update_time == 0) { in ds2760_battery_read_status()
273 ret = w1_ds2760_read(di->dev, di->raw + start, start, count); in ds2760_battery_read_status()
275 dev_warn(di->dev, "call to w1_ds2760_read failed (0x%p)\n", in ds2760_battery_read_status()
276 di->dev); in ds2760_battery_read_status()
280 di->update_time = jiffies; in ds2760_battery_read_status()
284 di->voltage_raw = (di->raw[DS2760_VOLTAGE_MSB] << 3) | in ds2760_battery_read_status()
285 (di->raw[DS2760_VOLTAGE_LSB] >> 5); in ds2760_battery_read_status()
286 di->voltage_uV = di->voltage_raw * 4880; in ds2760_battery_read_status()
[all …]
H A Dab8500_btemp.c125 * @di: pointer to the ab8500_btemp structure
133 static int ab8500_btemp_batctrl_volt_to_res(struct ab8500_btemp *di, in ab8500_btemp_batctrl_volt_to_res() argument
136 if (is_ab8500_1p1_or_earlier(di->parent)) { in ab8500_btemp_batctrl_volt_to_res()
153 * @di: pointer to the ab8500_btemp structure
157 static int ab8500_btemp_read_batctrl_voltage(struct ab8500_btemp *di) in ab8500_btemp_read_batctrl_voltage() argument
162 ret = iio_read_channel_processed(di->bat_ctrl, &vbtemp); in ab8500_btemp_read_batctrl_voltage()
164 dev_err(di->dev, in ab8500_btemp_read_batctrl_voltage()
175 * @di: pointer to the ab8500_btemp structure
180 static int ab8500_btemp_get_batctrl_res(struct ab8500_btemp *di) in ab8500_btemp_get_batctrl_res() argument
188 if (!di->fg) in ab8500_btemp_get_batctrl_res()
[all …]
H A Dbq27xxx_battery.c1075 #define BQ27XXX_DM_BUF(di, i) { \ argument
1076 .class = (di)->dm_regs[i].subclass_id, \
1077 .block = (di)->dm_regs[i].offset / BQ27XXX_DM_SZ, \
1110 struct bq27xxx_device_info *di; in poll_interval_param_set() local
1119 list_for_each_entry(di, &bq27xxx_battery_devices, list) in poll_interval_param_set()
1120 mod_delayed_work(system_wq, &di->work, 0); in poll_interval_param_set()
1140 static inline int bq27xxx_read(struct bq27xxx_device_info *di, int reg_index, in bq27xxx_read() argument
1145 if (!di || di->regs[reg_index] == INVALID_REG_ADDR) in bq27xxx_read()
1148 ret = di->bus.read(di, di->regs[reg_index], single); in bq27xxx_read()
1150 dev_dbg(di->dev, "failed to read register 0x%02x (index %d)\n", in bq27xxx_read()
[all …]
H A Drx51_battery.c41 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 …]
/openbmc/linux/drivers/net/wireless/broadcom/brcm80211/brcmsmac/
H A Ddma.c38 #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 …]
/openbmc/linux/drivers/regulator/
H A Dfan53555.c155 struct fan53555_device_info *di = rdev_get_drvdata(rdev); in fan53555_set_suspend_voltage() local
158 if (di->sleep_vol_cache == uV) in fan53555_set_suspend_voltage()
163 ret = regmap_update_bits(rdev->regmap, di->sleep_reg, in fan53555_set_suspend_voltage()
164 di->desc.vsel_mask, ret); in fan53555_set_suspend_voltage()
169 di->sleep_vol_cache = uV; in fan53555_set_suspend_voltage()
176 struct fan53555_device_info *di = rdev_get_drvdata(rdev); in fan53555_set_suspend_enable() local
178 return regmap_update_bits(rdev->regmap, di->sleep_en_reg, in fan53555_set_suspend_enable()
184 struct fan53555_device_info *di = rdev_get_drvdata(rdev); in fan53555_set_suspend_disable() local
186 return regmap_update_bits(rdev->regmap, di->sleep_en_reg, in fan53555_set_suspend_disable()
192 struct fan53555_device_info *di = rdev_get_drvdata(rdev); in fan53555_set_mode() local
[all …]
/openbmc/linux/Documentation/translations/it_IT/process/
H A D4.Coding.rst11 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 …]
H A Dadding-syscalls.rst8 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 …]
H A D2.Process.rst8 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 contiene quasi 13,000 gruppi di modifiche con ulteriori
37 modifiche a parecchie migliaia di linee di codice. La 5.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 …]
H A D1.Intro.rst14 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 …]
H A D3.Early-stage.rst11 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 …]
H A Dhowto.rst11 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 …]
H A Dbotching-up-ioctls.rst6 (Come evitare di) Raffazzonare delle ioctl
14 imparato negli ultimi anni è l'inutilità di cercare di creare un'interfaccia
15 unificata per gestire la memoria e le unità esecutive di diverse GPU. Dunque,
16 oggigiorno ogni driver ha il suo insieme di ioctl per allocare memoria ed
18 sistema che finge di essere generico, ma al suo posto ci sono interfacce
21 Per evitare di ripetere gli stessi errori ho preso nota delle lezioni imparate
22 mentre raffazzonavo il driver drm/i915. La maggior parte di queste lezioni si
25 GPU. Probabilmente, ogni sviluppatore di driver per GPU dovrebbe imparare queste
33 partenza e ritrovarvi ad aggiungere un livello di compatibilità a 32-bit.
48 quando si passano vettori di strutture dati al kernel, o quando il kernel
[all …]
H A Ddeprecated.rst14 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
45 sono stati ripristinati?). Molto spesso l'uso di BUG()
47 impossibile un'attività di debug o anche solo leggere un rapporto
[all …]
H A D5.Posting.rst14 la comunità di sviluppo del kernel ha elaborato un insieme di convenzioni
15 e di procedure per la pubblicazione delle patch; seguirle renderà la vita
16 più facile a tutti quanti. Questo documento cercherà di coprire questi
17 argomenti con un ragionevole livello di dettaglio; più informazioni possono
28 Ma quando il lavoro è di una certa complessità, c'è molto da guadagnare
30 Dovreste considerare l'idea di pubblicare un lavoro incompleto, o anche
38 ma quelli che lo faranno penseranno di potervi aiutare a condurre il vostro
42 Prima di creare patch
45 Ci sono un certo numero di cose che dovreste fare prima di considerare
46 l'invio delle patch alla comunità di sviluppo. Queste cose includono:
[all …]
H A Dmanagement-style.rst8 Il modello di gestione del kernel Linux
11 Questo breve documento descrive il modello di gestione del kernel Linux.
14 ed è principalmente scritto per evitare di rispondere [#f1]_ in continuazione
17 Il modello di gestione è qualcosa di molto personale e molto più difficile da
18 qualificare rispetto a delle semplici regole di codifica, quindi questo
26 occupate di convalidare acquisti o avete una qualche idea sul budget del vostro
30 Prima di tutto, suggerirei di acquistare "Le sette regole per avere successo",
31 e di non leggerlo. Bruciatelo, è un grande gesto simbolico.
35 di come rispondere.
49 Il gioco consiste nell'"evitare" di dover prendere decisioni. In particolare
[all …]
H A D7.AdvancedTopics.rst12 di sviluppo. Ma rimane comunque molto da imparare! Questo capitolo copre
14 per diventare parte integrante del processo di sviluppo del kernel.
19 L'uso di un sistema distribuito per il controllo delle versioni del kernel
21 BitKeeper. Nonostante l'uso di BitKeeper fosse opinabile, di certo il suo
25 peggio, il progetto del kernel ha deciso di usare git per gestire i sorgenti.
30 strumento giovane e potente che è ancora in fase di civilizzazione da parte
31 dei suoi sviluppatori. Questo documento non ha lo scopo di insegnare l'uso
32 di git ai suoi lettori; ci sarebbe materiale a sufficienza per un lungo
34 git è parte del processo di sviluppo del kernel. Gli sviluppatori che
44 La prima cosa da fare prima di usarlo per produrre patch che saranno
[all …]
H A Dvolatile-considered-harmful.rst12 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 …]
H A D6.Followthrough.rst14 perfetta di patch. Uno dei più grandi errori che possono essere commessi
15 persino da sviluppatori kernel esperti è quello di concludere che il
18 probabilmente, ancora un po' di lavoro da fare.
21 ci sia alcuno spazio di miglioramento. Il programma di sviluppo del kernel
23 del codice pubblicato. Voi, in qualità di autori del codice, dovrete
33 da parte di altri sviluppatori dato che avranno revisionato il codice.
35 più intimidatoria del processo di sviluppo del kernel. La vita può esservi
39 comprenderanno il valore e il perché vi siete presi il disturbo di
43 richiesti - da piccoli problemi di stile a sostanziali ristesure -
53 tentazione di rispondere a tono. La revisione riguarda il codice e non
[all …]
H A Dmaintainer-pgp-guide.rst23 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 …]
H A Dcoding-style.rst11 Questo è un breve documento che descrive lo stile di codice preferito per
12 il kernel Linux. Lo stile di codifica è molto personale e non voglio
14 dev'essere usato per qualsiasi cosa che io sia in grado di mantenere, e l'ho
18 La prima cosa che suggerisco è quella di stamparsi una copia degli standard
19 di codifica GNU e di NON leggerla. Bruciatela, è un grande gesto simbolico.
26 La tabulazione (tab) è di 8 caratteri e così anche le indentazioni. Ci sono
27 alcuni movimenti di eretici che vorrebbero l'indentazione a 4 (o perfino 2!)
28 caratteri di profondità, che è simile al tentativo di definire il valore del
31 Motivazione: l'idea dell'indentazione è di definire chiaramente dove un blocco
32 di controllo inizia e finisce. Specialmente quando siete rimasti a guardare lo
[all …]
/openbmc/linux/drivers/gpu/ipu-v3/
H A Dipu-di.c123 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 …]

12345678910>>...25