[no subject]
[no subject]
[no subject]
m 1561c1c9285eaa8638406280b53bb9e0b5a67d93 Mon Sep 17 00:00:00 2001 From: ye xingchen Date: Wed, 21 Sep 2022 09:21:30 +0800 Subject: [PATCH linux-next] nvdimm: Use the function kobj_to_dev() Use kobj_to_dev() instead of open-coding it. Reported-by: Zeal Robot Signed-off-by: ye xingchen --- drivers/nvdimm/bus.c| 2 +- drivers/nvdimm/core.c | 2 +- drivers/nvdimm/dimm_devs.c | 4 ++-- drivers/nvdimm/namespace_devs.c | 2 +- drivers/nvdimm/region_devs.c| 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/nvdimm/bus.c b/drivers/nvdimm/bus.c index b38d0355b0ac..6bd53d3a3eeb 100644 --- a/drivers/nvdimm/bus.c +++ b/drivers/nvdimm/bus.c @@ -690,7 +690,7 @@ static struct attribute *nd_numa_attributes[] = { static umode_t nd_numa_attr_visible(struct kobject *kobj, struct attribute *a, int n) { - struct device *dev = container_of(kobj, typeof(*dev), kobj); + struct device *dev = kobj_to_dev(kobj); if (!IS_ENABLED(CONFIG_NUMA)) return 0; diff --git a/drivers/nvdimm/core.c b/drivers/nvdimm/core.c index d91799b71d23..8ee7eddce0b2 100644 --- a/drivers/nvdimm/core.c +++ b/drivers/nvdimm/core.c @@ -466,7 +466,7 @@ static DEVICE_ATTR_ADMIN_RW(activate); static umode_t nvdimm_bus_firmware_visible(struct kobject *kobj, struct attribute *a, int n) { - struct device *dev = container_of(kobj, typeof(*dev), kobj); + struct device *dev = kobj_to_dev(kobj); struct nvdimm_bus *nvdimm_bus = to_nvdimm_bus(dev); struct nvdimm_bus_descriptor *nd_desc = nvdimm_bus->nd_desc; enum nvdimm_fwa_capability cap; diff --git a/drivers/nvdimm/dimm_devs.c b/drivers/nvdimm/dimm_devs.c index c7c980577491..5f9487e40111 100644 --- a/drivers/nvdimm/dimm_devs.c +++ b/drivers/nvdimm/dimm_devs.c @@ -409,7 +409,7 @@ static struct attribute *nvdimm_attributes[] = { static umode_t nvdimm_visible(struct kobject *kobj, struct attribute *a, int n) { - struct device *dev = container_of(kobj, typeof(*dev), kobj); + struct device *dev = kobj_to_dev(kobj); struct nvdimm *nvdimm = to_nvdimm(dev); if (a != &dev_attr_security.attr && a != &dev_attr_frozen.attr) @@ -525,7 +525,7 @@ static struct attribute *nvdimm_firmware_attributes[] = { static umode_t nvdimm_firmware_visible(struct kobject *kobj, struct attribute *a, int n) { - struct device *dev = container_of(kobj, typeof(*dev), kobj); + struct device *dev = kobj_to_dev(kobj); struct nvdimm_bus *nvdimm_bus = walk_to_nvdimm_bus(dev); struct nvdimm_bus_descriptor *nd_desc = nvdimm_bus->nd_desc; struct nvdimm *nvdimm = to_nvdimm(dev); diff --git a/drivers/nvdimm/namespace_devs.c b/drivers/nvdimm/namespace_devs.c index dfade66bab73..fd2e8ca67001 100644 --- a/drivers/nvdimm/namespace_devs.c +++ b/drivers/nvdimm/namespace_devs.c @@ -1372,7 +1372,7 @@ static struct attribute *nd_namespace_attributes[] = { static umode_t namespace_visible(struct kobject *kobj, struct attribute *a, int n) { - struct device *dev = container_of(kobj, struct device, kobj); + struct device *dev = kobj_to_dev(kobj); if (is_namespace_pmem(dev)) { if (a == &dev_attr_size.attr) diff --git a/drivers/nvdimm/region_devs.c b/drivers/nvdimm/region_devs.c index 473a71bbd9c9..886740e2c94f 100644 --- a/drivers/nvdimm/region_devs.c +++ b/drivers/nvdimm/region_devs.c @@ -607,7 +607,7 @@ static struct attribute *nd_region_attributes[] = { static umode_t region_visible(struct kobject *kobj, struct attribute *a, int n) { - struct device *dev = container_of(kobj, typeof(*dev), kobj); + struct device *dev = kobj_to_dev(kobj); struct nd_region *nd_region = to_nd_region(dev); struct nd_interleave_set *nd_set = nd_region->nd_set; int type = nd_region_to_nstype(nd_region); @@ -721,7 +721,7 @@ REGION_MAPPING(31); static umode_t mapping_visible(struct kobject *kobj, struct attribute *a, int n) { - struct device *dev = container_of(kobj, struct device, kobj); + struct device *dev = kobj_to_dev(kobj); struct nd_region *nd_region = to_nd_region(dev); if (n < nd_region->ndr_mappings) -- 2.25.1
[no subject]
https://bit.ly/3x8LDhsWill
[no subject]
Molim vas, želim znati jeste li dobili moje prethodne poruke.
[no subject]
Hallo Mein Name ist George Mike. Ich bin von Beruf Rechtsanwalt. Ich möchte Ihnen anbieten der nächste Verwandte meines Klienten. Sie erben die Summe von (8,5 Millionen US-Dollar) Dollar, die mein Kunde vor seinem Tod auf der Bank gelassen hat. Mein Kunde ist ein Staatsbürger Ihres Landes, der mit seiner Frau bei einem Autounfall ums Leben gekommen ist und einziger Sohn. Ich habe Anspruch auf 50% des Gesamtfonds, während 50% dies tun sein für dich. Bitte kontaktieren Sie meine private E-Mail hier für weitere Informationen: georgemike7...@gmail.com Vielen Dank im Voraus, Mr. George Mike,
[no subject]
Bitte ich möchte wissen, ob Sie meine vorherige Nachricht erhalten haben, danke.
[no subject]
Dia bom Sou Stephen Bordeaux, advogado do escritório de advocacia de Bordeaux. Entrei em contato com você a respeito do patrimônio do Fundo do Falecido Dr. Edwin, Oito Milhões e Quinhentos Mil Dólares, a serem repatriados para sua conta. Além disso, nesta transação, quero que você responda confidencialmente. Stephen Bordéus
[no subject]
Ich hoffe, diese Mail findet Sie und Ihre Lieben sicher und gesund. Ich habe einen Brief an Ihre E-Mail geschickt, aber keine Antwort von Ihnen erhalten. Sie haben meine vorherige E-Mail erhalten? Bitte kommen Sie so schnell wie möglich zurück. Beste Wünsche Johnson Williams.
[no subject]
cześć Nazywam się George Mike. Z zawodu jestem prawnikiem. Chcę ci zaoferować najbliższy krewny mojego klienta. Odziedziczysz sumę (8,5 miliona dolarów) dolarów, które mój klient zostawił w banku przed śmiercią. Mój klient jest obywatelem twojego kraju, który zginął wraz z żoną w wypadku samochodowym i jedyny syn. Będę uprawniony do 50% całkowitego funduszu, podczas gdy 50% będzie Być dla ciebie. Aby uzyskać więcej informacji, skontaktuj się z moim prywatnym adresem e-mail: georgemike7...@gmail.com Z góry bardzo dziękuję, Panie George Mike,
[no subject]
outreachy-ker...@googlegroups.com, mitaliborkar...@gmail.com Bcc: Subject: [PATCH] staging: qlge:remove else after break Reply-To: Fixed Warning:- else is not needed after break break terminates the loop if encountered. else is unnecessary and increases indenatation Signed-off-by: Mitali Borkar --- drivers/staging/qlge/qlge_mpi.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/staging/qlge/qlge_mpi.c b/drivers/staging/qlge/qlge_mpi.c index 2630ebf50341..3a49f187203b 100644 --- a/drivers/staging/qlge/qlge_mpi.c +++ b/drivers/staging/qlge/qlge_mpi.c @@ -935,13 +935,11 @@ static int qlge_idc_wait(struct qlge_adapter *qdev) netif_err(qdev, drv, qdev->ndev, "IDC Success.\n"); status = 0; break; - } else { - netif_err(qdev, drv, qdev->ndev, + } netif_err(qdev, drv, qdev->ndev, "IDC: Invalid State 0x%.04x.\n", mbcp->mbox_out[0]); status = -EIO; break; - } } return status; -- 2.30.2
[no subject]
Hallo, Houd er rekening mee dat deze e-mail die naar uw postvak is gekomen geen fout is, maar specifiek aan u is gericht voor uw overweging. Ik heb een voorstel van ($7.500.000.00) achtergelaten door mijn overleden klant Ingenieur Carlos die dezelfde achternaam bij jou draagt, die hier in Lomé Togo werkte en woonde. Mijn overleden cliënt en familie waren betrokken bij een auto-ongeluk dat hun leven kostte. Ik neem contact met u op als de nabestaanden van de overledene zodat u het geld ontvangen bij claims. Ik zal u meer details geven over deze transactie uit uw reactie. Beste wensen Thompson Michael.
[no subject]
Dobry dzień Nazywam się Stephen Bordeaux, prawnik z firmy prawniczej Bordeaux. Skontaktowałem się z tobą w sprawie majątku zmarłego doktora Edwin, który miał zostać przeniesiony na twoje konto. Osiem milionów pięćset tysięcy dolarów. Ponadto w tej transakcji chcę, abyś odpowiedział poufnie. Stephen Bordeaux
[no subject]
Subject: [PATCH v8 0/9] Updates to MHI channel handling MHI specification shows a state machine with support for STOP channel command and the validity of certain state transitions. MHI host currently does not provide any mechanism to stop a channel and restart it without resetting it. There are also times when the device moves on to a different execution environment while client drivers on the host are unaware of it and still attempt to reset the channels facing unnecessary timeouts. This series addresses the above areas to provide support for stopping an MHI channel, resuming it back, improved documentation and improving upon channel state machine handling in general. This set of patches was tested on arm64 and x86_64 architecture. v8: -Split the state machine improvements patch to three patches as per review v7: -Tested on x86_64 architecture -Drop the patch "Do not clear channel context more than once" as issue is fixed differently using "bus: mhi: core: Fix double dma free()" -Update the commit text to better reflect changes on state machine improvements v6: -Dropped the patch which introduced start/stop transfer APIs for lack of users -Updated error handling and debug prints on channel handling improvements patch -Improved commit text to better explain certain patches based on review comments -Removed references to new APIs from the documentation improvement patch v5: -Added reviewed-by tags from Hemant I missed earlier -Added patch to prevent kernel warnings on clearing channel context twice v4: -Updated commit text/descriptions and addressed checkpatch checks -Added context validity check before starting/stopping channels from new API -Added patch to clear channel context configuration after reset/unprepare v3: -Updated documentation for channel transfer APIs to highlight differences -Create separate patch for "allowing channel to be disabled from stopped state" v2: -Renamed the newly introduced APIs to mhi_start_transfer() / mhi_stop_transfer() -Added improved documentation to avoid confusion with the new APIs -Removed the __ prefix from mhi_unprepare_channel() API for consistency. Bhaumik Bhatt (9): bus: mhi: core: Allow sending the STOP channel command bus: mhi: core: Clear context for stopped channels from remove() bus: mhi: core: Improvements to the channel handling state machine bus: mhi: core: Update debug messages to use client device bus: mhi: core: Hold device wake for channel update commands bus: mhi: core: Clear configuration from channel context during reset bus: mhi: core: Check channel execution environment before issuing reset bus: mhi: core: Remove __ prefix for MHI channel unprepare function bus: mhi: Improve documentation on channel transfer setup APIs drivers/bus/mhi/core/init.c | 22 - drivers/bus/mhi/core/internal.h | 12 +++ drivers/bus/mhi/core/main.c | 190 include/linux/mhi.h | 18 +++- 4 files changed, 162 insertions(+), 80 deletions(-) -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
[no subject]
my name is calantha camara i want to talk to you
[no subject]
Vennligst jeg vil vite om du har mine tidligere meldinger.
[no subject]
From: Mark-PK Tsai To: Marc Zyngier Cc: Mark-PK Tsai , Daniel Palmer , Thomas Gleixner , Matthias Brugger , , , , Subject: [PATCH v4] irqchip/irq-mst: Support polarity configuration Date: Mon, 15 Mar 2021 21:18:48 +0800 > Support irq polarity configuration and save and restore the config > when system suspend and resume. > > Signed-off-by: Mark-PK Tsai Hi, Could anyone please help to review this patch?
[no subject]
Hej min kære, jeg vil gerne vide, om du har min tidligere besked, tak.
[no subject]
[no subject]
[no subject]
[no subject]
[no subject]
Git message updated.
[no subject]
Ik wil alsjeblieft weten of je mijn vorige berichten hebt ontvangen.
[no subject]
Ik wil alsjeblieft weten of je mijn vorige berichten hebt ontvangen.
[no subject]
subscribe linux-kernel
[no subject]
-- Hello i'm Barrister Daven Bango, from Togo in west Africa, i sent you a message before concerning a transaction of $12.5 million dollars that my late client who is also a citizen of your country, deposited in the bank here in my country before his sudden death, and you didn't reply to me, please reply to me as soon as possible, for more explanations. Best regards, Barrister: Daven Bango Phone: +22891667276
[no subject]
Hallo Ich heiße George Mike. Ich bin von Beruf Rechtsanwalt. Ich möchte dir anbieten engster Verwandter meines Klienten. Sie erben die Gesamtsumme (8,5 Millionen US-Dollar). Dollar, die mein Kunde vor seinem Tod auf der Bank gelassen hat. Mein Klient ist ein Staatsangehöriger Ihres Landes, der mit seiner Frau bei einem Autounfall ums Leben gekommen ist und einziger Sohn. Ich habe Anspruch auf 50% des Gesamtfonds, während 50% davon berechtigt sind Sein für dich. Für weitere Informationen wenden Sie sich bitte an meine private E-Mail-Adresse: georgemike7...@gmail.com Vielen Dank im Voraus, Herr George Mike,
[no subject]
Linux https://bitly.com/3sZmFP2 Chris
[no subject]
vHallo Ich heiße George Mike. Ich bin von Beruf Rechtsanwalt. Ich möchte dir anbieten engster Verwandter meines Klienten. Sie erben die Gesamtsumme (8,5 Millionen US-Dollar). Dollar, die mein Kunde vor seinem Tod auf der Bank gelassen hat. Mein Klient ist ein Staatsangehöriger Ihres Landes, der mit seiner Frau bei einem Autounfall ums Leben gekommen ist und einziger Sohn. Ich habe Anspruch auf 50% des Gesamtfonds, während 50% davon berechtigt sind Sein für dich. Für weitere Informationen wenden Sie sich bitte an meine private E-Mail-Adresse: georgemike7...@gmail.com Vielen Dank im Voraus, Herr George Mike,
[no subject]
-- Good Afternoon from UK, How are you? we guess you're well, Our office has sent you a message last week but there is no answer from you to date, did you read our notice? get back to us upon the receipt of this mail. Thank You, Mr. Hennager James Craig IMF Office London United Kingdom
[no subject]
Hello my friend I have sent several emails, have you received my previous complaints? Willson J. Mutanda Email: willsonmutand...@gmail.com
[no subject]
>From Yoshio Furuyama # This line is ignored. From: Yoshio Furuyama Subject: In-Reply-To:
[no subject]
Hi Linus, Regular fixes for final, there is a ttm regression fix, dp-mst fix, one amdgpu revert, two i915 fixes, and some misc fixes for sun4i, xlnx, and vc4. All pretty quiet and don't think we have any known outstanding regressions. Dave. drm-fixes-2021-02-12: drm fixes for 5.11-rc8 ttm: - page pool regression fix. dp_mst: - Don't report un-attached ports as connected amdgpu: - Blank screen fix i915: - Ensure Type-C FIA is powered when initializing - Fix overlay frontbuffer tracking sun4i: - tcon1 sync polarity fix - Always set HDMI clock rate - Fix H6 HDMI PHY config - Fix H6 max frequency vc4: - Fix buffer overflow xlnx: - Fix memory leak The following changes since commit 92bf22614b21a2706f4993b278017e437f7785b3: Linux 5.11-rc7 (2021-02-07 13:57:38 -0800) are available in the Git repository at: git://anongit.freedesktop.org/drm/drm tags/drm-fixes-2021-02-12 for you to fetch changes up to 551c81853d6d3ff016269d62612e7cd0a53104ab: Merge branch 'drm-misc-fixes' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes (2021-02-12 13:38:51 +1000) drm fixes for 5.11-rc8 ttm: - page pool regression fix. dp_mst: - Don't report un-attached ports as connected amdgpu: - Blank screen fix i915: - Ensure Type-C FIA is powered when initializing - Fix overlay frontbuffer tracking sun4i: - tcon1 sync polarity fix - Always set HDMI clock rate - Fix H6 HDMI PHY config - Fix H6 max frequency vc4: - Fix buffer overflow xlnx: - Fix memory leak Alex Deucher (1): Revert "drm/amd/display: Update NV1x SR latency values" Christian König (1): drm/ttm: make sure pool pages are cleared Dave Airlie (3): Merge tag 'amd-drm-fixes-5.11-2021-02-10' of https://gitlab.freedesktop.org/agd5f/linux into drm-fixes Merge tag 'drm-intel-fixes-2021-02-11' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes Merge branch 'drm-misc-fixes' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes Imre Deak (2): drm/dp_mst: Don't report ports connected if nothing is attached to them drm/i915/tgl+: Make sure TypeC FIA is powered up when initializing it Jernej Skrabec (4): drm/sun4i: tcon: set sync polarity for tcon1 channel drm/sun4i: dw-hdmi: always set clock rate drm/sun4i: Fix H6 HDMI PHY configuration drm/sun4i: dw-hdmi: Fix max. frequency for H6 Maxime Ripard (1): drm/vc4: hvs: Fix buffer overflow with the dlist handling Quanyang Wang (1): drm/xlnx: fix kmemleak by sending vblank_event in atomic_disable Ville Syrjälä (1): drm/i915: Fix overlay frontbuffer tracking .../gpu/drm/amd/display/dc/dcn20/dcn20_resource.c | 4 +- drivers/gpu/drm/drm_dp_mst_topology.c | 1 + drivers/gpu/drm/i915/display/intel_overlay.c | 17 +++--- drivers/gpu/drm/i915/display/intel_tc.c| 67 -- drivers/gpu/drm/sun4i/sun4i_tcon.c | 25 drivers/gpu/drm/sun4i/sun4i_tcon.h | 6 ++ drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c | 10 +--- drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h | 1 - drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c | 26 +++-- drivers/gpu/drm/ttm/ttm_pool.c | 10 drivers/gpu/drm/vc4/vc4_plane.c| 18 -- drivers/gpu/drm/xlnx/zynqmp_disp.c | 15 +++-- 12 files changed, 122 insertions(+), 78 deletions(-)
[no subject]
Hi Linus, Here's a set of minor keyrings fixes/cleanups that I've collected from various people for the upcoming merge window. A couple of them might, in theory, be visible to userspace: (*) Make blacklist_vet_description() reject uppercase letters as they don't match the all-lowercase hex string generated for a blacklist search. This may want reconsideration in the future, but, currently, you can't add to the blacklist keyring from userspace and the only source of blacklist keys generates lowercase descriptions. (*) Fix blacklist_init() to use a new KEY_ALLOC_* flag to indicate that it wants KEY_FLAG_KEEP to be set rather than passing KEY_FLAG_KEEP into keyring_alloc() as KEY_FLAG_KEEP isn't a valid alloc flag. This isn't currently a problem as the blacklist keyring isn't currently writable by userspace. The rest of the patches are cleanups and I don't think they should have any visible effect. I've fixed the compilation error, added another patch and rebased to v5.11-rc4 since the last request. David --- The following changes since commit 19c329f6808995b142b3966301f217c831e7cf31: Linux 5.11-rc4 (2021-01-17 16:37:05 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git tags/keys-misc-20210126 for you to fetch changes up to 8f0bfc25c907f38e7f9dc498e8f43000d77327ef: watch_queue: rectify kernel-doc for init_watch() (2021-01-26 11:16:34 +) Keyrings miscellany Alex Shi (2): PKCS#7: drop function from kernel-doc pkcs7_validate_trust_one certs/blacklist: fix kernel doc interface issue Alexander A. Klimov (1): encrypted-keys: Replace HTTP links with HTTPS ones David Howells (1): certs: Fix blacklist flag type confusion Denis Efremov (1): security/keys: use kvfree_sensitive() Gabriel Krisman Bertazi (1): watch_queue: Drop references to /dev/watch_queue Gustavo A. R. Silva (1): security: keys: Fix fall-through warnings for Clang Jann Horn (1): keys: Remove outdated __user annotations Krzysztof Kozlowski (1): KEYS: asymmetric: Fix kerneldoc Lukas Bulwahn (1): watch_queue: rectify kernel-doc for init_watch() Mickaël Salaün (3): certs: Fix blacklisted hexadecimal hash string check PKCS#7: Fix missing include certs: Replace K{U,G}IDT_INIT() with GLOBAL_ROOT_{U,G}ID Randy Dunlap (2): security: keys: delete repeated words in comments crypto: asymmetric_keys: fix some comments in pkcs7_parser.h Tianjia Zhang (1): crypto: public_key: Remove redundant header file from public_key.h Tom Rix (2): KEYS: remove redundant memset keys: remove trailing semicolon in macro definition YueHaibing (1): crypto: pkcs7: Use match_string() helper to simplify the code Documentation/security/keys/core.rst | 4 ++-- certs/blacklist.c| 10 +- certs/system_keyring.c | 5 +++-- crypto/asymmetric_keys/asymmetric_type.c | 6 -- crypto/asymmetric_keys/pkcs7_parser.h| 5 ++--- crypto/asymmetric_keys/pkcs7_trust.c | 2 +- crypto/asymmetric_keys/pkcs7_verify.c| 9 - include/crypto/public_key.h | 1 - include/keys/encrypted-type.h| 2 +- include/linux/key.h | 5 +++-- include/linux/verification.h | 2 ++ kernel/watch_queue.c | 2 +- samples/Kconfig | 2 +- samples/watch_queue/watch_test.c | 2 +- security/integrity/ima/ima_mok.c | 5 ++--- security/keys/Kconfig| 8 security/keys/big_key.c | 9 +++-- security/keys/key.c | 2 ++ security/keys/keyctl.c | 2 +- security/keys/keyctl_pkey.c | 2 -- security/keys/keyring.c | 10 +- security/keys/process_keys.c | 1 + 22 files changed, 48 insertions(+), 48 deletions(-)
[no subject]
Hallo Mein Name ist George Mike. Ich bin von Beruf Rechtsanwalt. Ich möchte Ihnen anbieten der nächste Verwandte meines Klienten. Sie erben die Summe von (8,5 Millionen US-Dollar) Dollar, die mein Kunde vor seinem Tod auf der Bank gelassen hat. Mein Kunde ist ein Staatsbürger Ihres Landes, der mit seiner Frau bei einem Autounfall ums Leben gekommen ist und einziger Sohn. Ich habe Anspruch auf 50% des Gesamtfonds, 50% darauf sein für dich. Bitte kontaktieren Sie meine private E-Mail hier für weitere Informationen: georgemike7...@gmail.com Vielen Dank im Voraus, Mr. George Mike,
[no subject]
-- Korisnik fonda čestitanja, Vaša sredstva za naknadu od 850.000,00 američkih dolara odobrila je Međunarodna monetarna organizacija (MMF) u suradnji s (FBI) nakon mnogo istraga. Čekamo da se obratimo za dodatne informacije Advokat: Daven Bango Telefon: +22891667276 (URED MMF-a LOME TOGO)
[no subject]
Hallo Mein Name ist George Mike. Ich bin von Beruf Rechtsanwalt. Ich möchte Ihnen anbieten der nächste Verwandte meines Klienten. Sie erben die Summe von (8,5 Millionen US-Dollar) Dollar, die mein Kunde vor seinem Tod auf der Bank gelassen hat. Mein Kunde ist ein Staatsbürger Ihres Landes, der mit seiner Frau bei einem Autounfall ums Leben gekommen ist und einziger Sohn. Ich habe Anspruch auf 50% des Gesamtfonds, 50% darauf sein für dich. Bitte kontaktieren Sie meine private E-Mail hier für weitere Informationen: georgemike7...@gmail.com Vielen Dank im Voraus, Mr. George Mike,
[no subject]
Hallo Mitt navn er George Mike. Jeg er advokat av yrke. Jeg ønsker å tilby deg den pårørende til klienten min. Du vil arve summen av ($ 8,5 millioner) dollar klienten min etterlot seg i banken før han døde. Min klient er statsborger i landet ditt som døde i en bilulykke med sin kone og eneste sønn. Jeg vil være berettiget med 50% av det totale fondet mens 50% vil være for deg. Ta kontakt med min private e-post her for mer informasjon: georgemike7...@gmail.com Takk på forhånd, Mr. George Mike,
[no subject]
Subject: [PATCH v3 12/12] usb: misc: usbtest: update to use the usb_control_msg_{send|recv}() API The newer usb_control_msg_{send|recv}() API are an improvement on the existing usb_control_msg() as it ensures that a short read/write is treated as an error, data can be used off the stack, and raw usb pipes need not be created in the calling functions. For this reason, instances of usb_control_msg() have been replaced with usb_control_msg_{recv|send}() and the return value checking conditions have also been modified appropriately. Signed-off-by: Anant Thazhemadam --- drivers/usb/misc/usbtest.c | 69 -- 1 file changed, 29 insertions(+), 40 deletions(-) diff --git a/drivers/usb/misc/usbtest.c b/drivers/usb/misc/usbtest.c index 150090ee4ec1..4337eff2a749 100644 --- a/drivers/usb/misc/usbtest.c +++ b/drivers/usb/misc/usbtest.c @@ -672,19 +672,15 @@ static int get_altsetting(struct usbtest_dev *dev) struct usb_device *udev = interface_to_usbdev(iface); int retval; - retval = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0), - USB_REQ_GET_INTERFACE, USB_DIR_IN|USB_RECIP_INTERFACE, - 0, iface->altsetting[0].desc.bInterfaceNumber, - dev->buf, 1, USB_CTRL_GET_TIMEOUT); - switch (retval) { - case 1: - return dev->buf[0]; - case 0: - retval = -ERANGE; - fallthrough; - default: + retval = usb_control_msg_recv(udev, 0, USB_REQ_GET_INTERFACE, + USB_DIR_IN|USB_RECIP_INTERFACE, + 0, iface->altsetting[0].desc.bInterfaceNumber, + dev->buf, 1, USB_CTRL_GET_TIMEOUT, GFP_KERNEL); + + if (retval < 0) return retval; - } + + return dev->buf[0]; } static int set_altsetting(struct usbtest_dev *dev, int alternate) @@ -872,14 +868,15 @@ static int ch9_postconfig(struct usbtest_dev *dev) * ... although some cheap devices (like one TI Hub I've got) * won't return config descriptors except before set_config. */ - retval = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0), - USB_REQ_GET_CONFIGURATION, - USB_DIR_IN | USB_RECIP_DEVICE, - 0, 0, dev->buf, 1, USB_CTRL_GET_TIMEOUT); - if (retval != 1 || dev->buf[0] != expected) { + retval = usb_control_msg_recv(udev, 0, USB_REQ_GET_CONFIGURATION, + USB_DIR_IN | USB_RECIP_DEVICE, 0, + 0, dev->buf, 1, USB_CTRL_GET_TIMEOUT, + GFP_KERNEL); + + if (retval != 0 || dev->buf[0] != expected) { dev_err(&iface->dev, "get config --> %d %d (1 %d)\n", retval, dev->buf[0], expected); - return (retval < 0) ? retval : -EDOM; + return retval; } } @@ -1683,10 +1680,10 @@ static int test_halt(struct usbtest_dev *tdev, int ep, struct urb *urb) return retval; /* set halt (protocol test only), verify it worked */ - retval = usb_control_msg(urb->dev, usb_sndctrlpipe(urb->dev, 0), - USB_REQ_SET_FEATURE, USB_RECIP_ENDPOINT, - USB_ENDPOINT_HALT, ep, - NULL, 0, USB_CTRL_SET_TIMEOUT); + retval = usb_control_msg_send(urb->dev, 0, USB_REQ_SET_FEATURE, + USB_RECIP_ENDPOINT, USB_ENDPOINT_HALT, + ep, NULL, 0, USB_CTRL_SET_TIMEOUT, + GFP_KERNEL); if (retval < 0) { ERROR(tdev, "ep %02x couldn't set halt, %d\n", ep, retval); return retval; @@ -1845,30 +1842,22 @@ static int ctrl_out(struct usbtest_dev *dev, /* write patterned data */ for (j = 0; j < len; j++) buf[j] = (u8)(i + j); - retval = usb_control_msg(udev, usb_sndctrlpipe(udev, 0), - 0x5b, USB_DIR_OUT|USB_TYPE_VENDOR, - 0, 0, buf, len, USB_CTRL_SET_TIMEOUT); - if (retval != len) { + retval = usb_control_msg_send(udev, 0, 0x5b, + USB_DIR_OUT | USB_TYPE_VENDOR, 0, + 0, buf, len, USB_CTRL_SET_TIMEOUT, + GFP_KERNEL); + if (retval < 0) { what = "write"; - if (retval >= 0) { - ERROR(dev, "ctrl_out, wlen %d (expected %d)\n", -
[no subject]
-- Dearest Friend, I have an important message for you just get back for details. Regards Mohammed Hossain
[no subject]
-- I have an proposal for you get back for more details.
[no subject]
Bcc: Subject: Re: [PATCH v2] can: mcba_usb: Fix memory leak when cancelling urb Reply-To: In-Reply-To: On Tue, Jan 12, 2021 at 01:42:33PM +0700, Minh Bùi Quang wrote: > On Mon, Jan 11, 2021 at 9:31 PM Bui Quang Minh > wrote: > > > > On Mon, Jan 11, 2021 at 01:00:31PM +0100, Oliver Neukum wrote: > > > Am Montag, den 11.01.2021, 10:49 + schrieb Bui Quang Minh: > > > > In mcba_usb_read_bulk_callback(), when we don't resubmit or fails to > > > > resubmit the urb, we need to deallocate the transfer buffer that is > > > > allocated in mcba_usb_start(). > > > > > > > > Reported-by: syzbot+57281c762a3922e14...@syzkaller.appspotmail.com > > > > Signed-off-by: Bui Quang Minh > > > > --- > > > > v1: add memory leak fix when not resubmitting urb > > > > v2: add memory leak fix when failing to resubmit urb > > > > > > > > drivers/net/can/usb/mcba_usb.c | 11 --- > > > > 1 file changed, 8 insertions(+), 3 deletions(-) > > > > > > > > diff --git a/drivers/net/can/usb/mcba_usb.c > > > > b/drivers/net/can/usb/mcba_usb.c > > > > index df54eb7d4b36..30236e640116 100644 > > > > --- a/drivers/net/can/usb/mcba_usb.c > > > > +++ b/drivers/net/can/usb/mcba_usb.c > > > > @@ -584,6 +584,8 @@ static void mcba_usb_read_bulk_callback(struct urb > > > > *urb) > > > > case -EPIPE: > > > > case -EPROTO: > > > > case -ESHUTDOWN: > > > > + usb_free_coherent(urb->dev, urb->transfer_buffer_length, > > > > + urb->transfer_buffer, urb->transfer_dma); > > > > return; > > > > > > > > > > Can you call usb_free_coherent() in what can be hard IRQ context? > > > > You are right, I digged in the code and saw some comments that on some > > architectures, usb_free_coherent() cannot be called in hard IRQ context. > > I see the usb_free_coherent() is called in write_bulk_callback too. I will > > send a patch that uses usb_anchor to keep track of these urbs and cleanup > > the transfer buffer later in disconnect(). > > Hi, I have sent a version 3 patch. However, I found out that > usb_free_coherent() > is ok in this situation. In usb_free_coherent(), if the buffer is allocated > via > dma_alloc_coherent() in usb_alloc_coherent(), dma_free_coherent() is called. > In dma_free_coherent(), ops->free() may be called in some cases which may > contains calls to vunmap() that is not permitted in interrupt context. > However, > in usb_alloc_coherent(), buffer can be allocated from dma pool if the > size is less > than 2048 and the buffer size in mcba_usb is obviously less than 2048. > As a result, > usb_free_coherent() will at most fall in the path that calls > dma_pool_free(), which is > safe. Am I right? Hi, I'm CC'ing CAN network driver maintainers so we can discuss the patch properly. Thanks, Quang Minh.
[no subject]
From: Tianjia Zhang On the following call path, `sig->pkey_algo` is not assigned in asymmetric_key_verify_signature(), which causes runtime crash in public_key_verify_signature(). keyctl_pkey_verify asymmetric_key_verify_signature verify_signature public_key_verify_signature This patch simply check this situation and fixes the crash caused by NULL pointer. Fixes: 215525639631 ("X.509: support OSCCA SM2-with-SM3 certificate verification") Reported-by: Tobias Markus Signed-off-by: Tianjia Zhang Signed-off-by: David Howells Reviewed-and-tested-by: Toke Høiland-Jørgensen Tested-by: João Fonseca Cc: sta...@vger.kernel.org # v5.10+ --- crypto/asymmetric_keys/public_key.c |3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crypto/asymmetric_keys/public_key.c b/crypto/asymmetric_keys/public_key.c index 8892908ad58c..788a4ba1e2e7 100644 --- a/crypto/asymmetric_keys/public_key.c +++ b/crypto/asymmetric_keys/public_key.c @@ -356,7 +356,8 @@ int public_key_verify_signature(const struct public_key *pkey, if (ret) goto error_free_key; - if (strcmp(sig->pkey_algo, "sm2") == 0 && sig->data_size) { + if (sig->pkey_algo && strcmp(sig->pkey_algo, "sm2") == 0 && + sig->data_size) { ret = cert_sig_digest_update(sig, tfm); if (ret) goto error_free_key;
[no subject]
unsubscribe
[no subject]
Hi Greg, here are two patches for the onewire subsystem. The first allows to have DS28E04 eproms on the bus (which have a peculiar address-crc quirk when using the address strapping pins). The second fixes a long-standing bug with hanging of a DS2490 USB interface when some chips (that lock the bus mutex during add) are discovered, e.g. https://github.com/raspberrypi/linux/issues/3491. I initially sent to Evgeniy (cc), but he asked to resend to you and Cc lkml. Chris
[no subject]
-- I have an important message for you get back for more details.
[no subject]
Greetings, We are pleased to inform you that an amount of £500,000.00 (GBP) has been donated and gifted to you and your family by Steve & Lenka Thomson. Kindly contact for the claim: stlenkatfo...@hotmail.com Regards, Thomson's Foundation
[no subject]
auth d61d05b3 subscribe linux-kernel Sent from my iPhone
[no subject]
Greetings, We are pleased to inform you that an amount of 5000,000.00 (GBP) has been donated and given to you and your family by Steve & Lenka Thomson: steve.foundation...@hotmail.com Regards Steve Thomson
[no subject]
mjbf...@me.com Bcc: Subject: [PATCH] ALSA: hda/realtek: Add mute LED quirk for more HP laptops Reply-To: HP Pavilion 13-bb (SSID 103c:87c8) needs the same quirk as other models with ALC287. Signed-off-by: Manuel Jiménez --- sound/pci/hda/patch_realtek.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index dde5ba209541..b77cef72c2d5 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -7964,6 +7964,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { SND_PCI_QUIRK(0x103c, 0x8760, "HP", ALC285_FIXUP_HP_MUTE_LED), SND_PCI_QUIRK(0x103c, 0x877a, "HP", ALC285_FIXUP_HP_MUTE_LED), SND_PCI_QUIRK(0x103c, 0x877d, "HP", ALC236_FIXUP_HP_MUTE_LED), + SND_PCI_QUIRK(0x103c, 0x87c8, "HP", ALC287_FIXUP_HP_GPIO_LED), SND_PCI_QUIRK(0x103c, 0x87f4, "HP", ALC287_FIXUP_HP_GPIO_LED), SND_PCI_QUIRK(0x103c, 0x87f5, "HP", ALC287_FIXUP_HP_GPIO_LED), SND_PCI_QUIRK(0x1043, 0x103e, "ASUS X540SA", ALC256_FIXUP_ASUS_MIC), -- 2.29.2
[no subject]
Greetings, We are pleased to inform you that an amount of £500,000.00 (GBP) has been donated and given, gifted to you and your family by Steve & Lenka Thomson, who won the EuroMillions jackpot, lottery of £105,100,701.90 Euro Millions, part of this donation, it is for you and your family. This donation is to help fight against Corona Virus COVID -19 pandemic in the world, and help the poor people off the streets, also to contribute to poverty reduction, public donations, public charity, orphanages, less privileged and help poor individuals in your community please contact her to claim the money via email for more details: slenkathoms...@gmail.com Regards Steve Thomson
[no subject]
Do you need an urgent loan for Xmas if Yes? Contact us immediately for more info
[no subject]
unsubscribe
[no subject]
dzień dobry Nazywam się George Mike. Z zawodu jestem prawnikiem. Chcę ci zaoferować najbliższy krewny mojego klienta. Odziedziczysz sumę (8,5 miliona dolarów) dolarów, które mój klient zostawił w banku przed śmiercią. Mój klient jest obywatelem twojego kraju, który zginął wraz z żoną w wypadku samochodowym i jedyny syn. Będę uprawniony do 50% całkowitego funduszu, podczas gdy 50% będzie Być dla ciebie. Aby uzyskać więcej informacji, skontaktuj się z moim prywatnym adresem e-mail: georgemike7031gmail.com Z góry bardzo dziękuję, Panie George Mike
[no subject]
Hallo Mein Name ist George Mike. Ich bin von Beruf Rechtsanwalt. Ich möchte Ihnen anbieten der nächste Verwandte meines Klienten. Sie erben die Summe von (8,5 Millionen US-Dollar) Dollar, die mein Kunde vor seinem Tod auf der Bank gelassen hat. Mein Kunde ist ein Staatsbürger Ihres Landes, der mit seiner Frau bei einem Autounfall ums Leben gekommen ist und einziger Sohn. Ich habe Anspruch auf 50% des Gesamtfonds, 50% darauf sein für dich. Bitte kontaktieren Sie meine private E-Mail hier für weitere Informationen: georgemike7...@gmail.com Vielen Dank im Voraus, Mr. George Mike,
[no subject]
Schönen Tag Ich bin Anthony Calder, Anwalt aus Togo. Ich habe Sie bezüglich des Nachlasses des verstorbenen Dr. Edwin-Fonds in Höhe von 8,5 Millionen US-Dollar kontaktiert, der auf Ihr Konto zurückgeführt werden soll. Darüber hinaus möchte ich, dass Sie bei dieser Transaktion vertraulich antworten. Anthony Calder
[no subject]
Hallo Mein Name ist George Mike. Ich bin von Beruf Rechtsanwalt. Ich möchte Ihnen anbieten der nächste Verwandte meines Klienten. Sie erben die Summe von (8,5 Millionen US-Dollar) Dollar, die mein Kunde vor seinem Tod auf der Bank gelassen hat. Mein Kunde ist ein Staatsbürger Ihres Landes, der mit seiner Frau bei einem Autounfall ums Leben gekommen ist und einziger Sohn. Ich habe Anspruch auf 50% des Gesamtfonds, 50% darauf sein für dich. Bitte kontaktieren Sie meine private E-Mail hier für weitere Informationen: georgemike7...@gmail.com Vielen Dank im Voraus, Mr. George Mike,
[no subject]
>From 772007b92eda50186c2e420b5bd895d4e4006ae8 Mon Sep 17 00:00:00 2001 From: Maxim Kiselev Date: Thu, 3 Dec 2020 18:56:12 +0300 Subject: [PATCH] spi: spi-fsl-dspi: Add GPIO chip select support This patch allows use of GPIO for the chip select. Because dSPI controller can't send transactions without hardware chip selects, so first unused native CS will be set in SPI_PUSHR_CMD_PCS Signed-off-by: Maxim Kiselev --- drivers/spi/spi-fsl-dspi.c | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/spi/spi-fsl-dspi.c b/drivers/spi/spi-fsl-dspi.c index 028736687488..d5fba34de740 100644 --- a/drivers/spi/spi-fsl-dspi.c +++ b/drivers/spi/spi-fsl-dspi.c @@ -913,9 +913,14 @@ static int dspi_transfer_one_message(struct spi_controller *ctlr, dspi->cur_transfer = transfer; dspi->cur_msg = message; dspi->cur_chip = spi_get_ctldata(spi); + +if (spi->cs_gpiod) +gpiod_set_value(spi->cs_gpiod, 1); + /* Prepare command word for CMD FIFO */ dspi->tx_cmd = SPI_PUSHR_CMD_CTAS(0) | - SPI_PUSHR_CMD_PCS(spi->chip_select); + SPI_PUSHR_CMD_PCS(spi->cs_gpiod ? + ctlr->unused_native_cs : spi->chip_select); if (list_is_last(&dspi->cur_transfer->transfer_list, &dspi->cur_msg->transfers)) { /* Leave PCS activated after last transfer when @@ -1240,6 +1245,7 @@ static int dspi_probe(struct platform_device *pdev) dspi->pdev = pdev; dspi->ctlr = ctlr; +ctlr->use_gpio_descriptors = true; ctlr->setup = dspi_setup; ctlr->transfer_one_message = dspi_transfer_one_message; ctlr->dev.of_node = pdev->dev.of_node; -- 2.27.0
[no subject]
On Thu, Dec 3, 2020 at 7:51 AM Yun Levi wrote: > > On Thu, Dec 3, 2020 at 6:26 AM Yury Norov wrote: > > > > On Wed, Dec 2, 2020 at 10:22 AM Yun Levi wrote: > > > > > > On Thu, Dec 3, 2020 at 2:26 AM Yury Norov wrote: > > > > > > > Also look at lib/find_bit_benchmark.c > > > Thanks. I'll see. > > > > > > > We need find_next_*_bit() because find_first_*_bit() can start > > > > searching only at word-aligned > > > > bits. In the case of find_last_*_bit(), we can start at any bit. So, if > > > > my understanding is correct, > > > > for the purpose of reverse traversing we can go with already existing > > > > find_last_bit(), > > > > > > Thank you. I haven't thought that way. > > > But I think if we implement reverse traversing using find_last_bit(), > > > we have a problem. > > > Suppose the last bit 0, 1, 2, is set. > > > If we start > > > find_last_bit(bitmap, 3) ==> return 2; > > > find_last_bit(bitmap, 2) ==> return 1; > > > find_last_bit(bitmap, 1) ==> return 0; > > > find_last_bit(bitmap, 0) ===> return 0? // here we couldn't > > > distinguish size 0 input or 0 is set > > > > If you traverse backward and reach bit #0, you're done. No need to continue. > I think the case when I consider the this macro like > > #define for_each_clear_bit_reverse(bit, addr, size) > for ((bit) = find_last_zero_bit((addr), (size)) > (bit) < (size); > (bit) = find_prev_zero_bit((addr), (size), (bit))) > > If we implement the above macro only with find_last_zero_bit, > I think there is no way without adding any additional variable to finish loop. > But I don't want to add additional variable to sustain same format > with for_each_clear_bit, > That's why i decide to implement find_prev_*_bit series. > > I don't know it's correct thinking or biased. Am I wrong? > > > > > > > > > and the for_each traverse routine prevent above case by returning size > > > (nbits) using find_next_bit. > > > So, for compatibility and the same expected return value like next > > > traversing, > > > I think we need to find_prev_*_bit routine. if my understanding is > > > correct. > > > > > > > > > > I think this patch has some good catches. We definitely need to > > > > implement > > > > find_last_zero_bit(), as it is used by fs/ufs, and their local > > > > implementation is not optimal. > > > > > > > > We also should consider adding reverse traversing macros based on > > > > find_last_*_bit(), > > > > if there are proposed users. > > > > > > Not only this, I think 'steal_from_bitmap_to_front' can be improved > > > using ffind_prev_zero_bit > > > like > > > > > > diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c > > > index af0013d3df63..9debb9707390 100644 > > > --- a/fs/btrfs/free-space-cache.c > > > +++ b/fs/btrfs/free-space-cache.c > > > @@ -2372,7 +2372,6 @@ static bool steal_from_bitmap_to_front(struct > > > btrfs_free_space_ctl *ctl, > > > u64 bitmap_offset; > > > unsigned long i; > > > unsigned long j; > > > - unsigned long prev_j; > > > u64 bytes; > > > > > > bitmap_offset = offset_to_bitmap(ctl, info->offset); > > > @@ -2388,20 +2387,15 @@ static bool steal_from_bitmap_to_front(struct > > > btrfs_free_space_ctl *ctl, > > > return false; > > > > > > i = offset_to_bit(bitmap->offset, ctl->unit, info->offset) - 1; > > > - j = 0; > > > - prev_j = (unsigned long)-1; > > > - for_each_clear_bit_from(j, bitmap->bitmap, BITS_PER_BITMAP) { > > > - if (j > i) > > > - break; > > > - prev_j = j; > > > - } > > > - if (prev_j == i) > > > + j = find_prev_zero_bit(bitmap->bitmap, BITS_PER_BITMAP, i); > > > > This one may be implemented with find_last_zero_bit() as well: > > > > unsigned log j = find_last_zero_bit(bitmap, BITS_PER_BITMAP); > > if (j <= i || j >= BITS_PER_BITMAP) > > return false; > > > Actually, in that code, we don't need to check the bit after i. > Originally, if my understanding is correct, former code tries to find > the last 0 bit before i. > and if all bits are fully set before i, it use next one as i + 1 > > that's why i think the if condition should be >if (j >= i) > > But above condition couldn't the discern the case when all bits are > fully set before i. > Also, I think we don't need to check the bit after i and In this case, > find_prev_zero_bit which > specifies the start point is clear to show the meaning of the code. > > > > I believe the latter version is better because find_last_*_bit() is simpler > > in > > implementation (and partially exists), has less parameters, and therefore > > simpler for users, and doesn't introduce functionality duplication. I think it's not duplication. Actually, former you teach me find_first_*_bit should be start word-aligned bit, But as find_first_*_bit declares it as "size of bitmap" not a start offset. Though the bitmap size it's word-aligned, it doesn't matter to fine first bit in the specified size of bitmap (it no, it will return just size of bitmap) Likewise, find_last_*_bit is also simil
[no subject]
On Thu, Dec 3, 2020 at 3:55 AM Andy Shevchenko wrote: > > On Wed, Dec 02, 2020 at 08:51:27PM +0200, Andy Shevchenko wrote: > > On Thu, Dec 03, 2020 at 03:27:33AM +0900, Yun Levi wrote: > > > On Thu, Dec 3, 2020 at 2:36 AM Andy Shevchenko > > > wrote: > > > > On Wed, Dec 02, 2020 at 09:26:05AM -0800, Yury Norov wrote: > > ... > > > > > Side note: speaking of performance, any plans to fix for_each_*_bit*() > > > > for > > > > cases when the nbits is known to be <= BITS_PER_LONG? > > > > > > > > Now it makes an awful code generation (something like few hundred bytes > > > > of > > > > code). > > > > > Frankly Speaking, I don't have an idea in now. > > > Could you share your idea or wisdom? > > > > Something like (I may be mistaken by names, etc, I'm not a compiler expert, > > and this is in pseudo language, I don't remember all API names by hart, > > just to express the idea) as a rough first step > > > > __builtin_constant(nbits, find_next_set_bit_long, find_next_set_bit) > > > > find_next_set_bit_long() > > { > > unsigned long v = BIT_LAST_WORD(i); > > return ffs_long(v); > > } > > I think this idea is hard to apply to find_next_set_bit. because __builtin_constant should be not only to size but also to offset. though we find size && offset is const under BITS_PER_LONG, I'm not sure it could be implemented as const expression.. > > Same for find_first_set_bit() -> map it to ffs_long(). > > > > And I believe it can be optimized more. In case of the find_first_set_bit, I think it would be possible, But I think it much better to separate as another patch set. So I want to focus on adding find_prev_*_bit, find_last_zero_bit to this patchset and mail-thread. Frankly speaking I need time to see that suggestion and think so, in next patch v2, it wouldn't be included. > > Btw it will also require to reconsider test cases where such constant small > nbits values are passed (forcing compiler to avoid optimization somehow, one > way is to try random nbits for some test cases). > > -- > With Best Regards, > Andy Shevchenko > > if my understanding and attitude are wrong, I really apologize for my rudeness and stubbornness but please let me know what thing is wrong. Sincerely Levi.
[no subject]
On Thu, Dec 3, 2020 at 6:26 AM Yury Norov wrote: > > On Wed, Dec 2, 2020 at 10:22 AM Yun Levi wrote: > > > > On Thu, Dec 3, 2020 at 2:26 AM Yury Norov wrote: > > > > > Also look at lib/find_bit_benchmark.c > > Thanks. I'll see. > > > > > We need find_next_*_bit() because find_first_*_bit() can start searching > > > only at word-aligned > > > bits. In the case of find_last_*_bit(), we can start at any bit. So, if > > > my understanding is correct, > > > for the purpose of reverse traversing we can go with already existing > > > find_last_bit(), > > > > Thank you. I haven't thought that way. > > But I think if we implement reverse traversing using find_last_bit(), > > we have a problem. > > Suppose the last bit 0, 1, 2, is set. > > If we start > > find_last_bit(bitmap, 3) ==> return 2; > > find_last_bit(bitmap, 2) ==> return 1; > > find_last_bit(bitmap, 1) ==> return 0; > > find_last_bit(bitmap, 0) ===> return 0? // here we couldn't > > distinguish size 0 input or 0 is set > > If you traverse backward and reach bit #0, you're done. No need to continue. I think the case when I consider the this macro like #define for_each_clear_bit_reverse(bit, addr, size) for ((bit) = find_last_zero_bit((addr), (size)) (bit) < (size); (bit) = find_prev_zero_bit((addr), (size), (bit))) If we implement the above macro only with find_last_zero_bit, I think there is no way without adding any additional variable to finish loop. But I don't want to add additional variable to sustain same format with for_each_clear_bit, That's why i decide to implement find_prev_*_bit series. I don't know it's correct thinking or biased. Am I wrong? > > > > > and the for_each traverse routine prevent above case by returning size > > (nbits) using find_next_bit. > > So, for compatibility and the same expected return value like next > > traversing, > > I think we need to find_prev_*_bit routine. if my understanding is correct. > > > > > > > I think this patch has some good catches. We definitely need to implement > > > find_last_zero_bit(), as it is used by fs/ufs, and their local > > > implementation is not optimal. > > > > > > We also should consider adding reverse traversing macros based on > > > find_last_*_bit(), > > > if there are proposed users. > > > > Not only this, I think 'steal_from_bitmap_to_front' can be improved > > using ffind_prev_zero_bit > > like > > > > diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c > > index af0013d3df63..9debb9707390 100644 > > --- a/fs/btrfs/free-space-cache.c > > +++ b/fs/btrfs/free-space-cache.c > > @@ -2372,7 +2372,6 @@ static bool steal_from_bitmap_to_front(struct > > btrfs_free_space_ctl *ctl, > > u64 bitmap_offset; > > unsigned long i; > > unsigned long j; > > - unsigned long prev_j; > > u64 bytes; > > > > bitmap_offset = offset_to_bitmap(ctl, info->offset); > > @@ -2388,20 +2387,15 @@ static bool steal_from_bitmap_to_front(struct > > btrfs_free_space_ctl *ctl, > > return false; > > > > i = offset_to_bit(bitmap->offset, ctl->unit, info->offset) - 1; > > - j = 0; > > - prev_j = (unsigned long)-1; > > - for_each_clear_bit_from(j, bitmap->bitmap, BITS_PER_BITMAP) { > > - if (j > i) > > - break; > > - prev_j = j; > > - } > > - if (prev_j == i) > > + j = find_prev_zero_bit(bitmap->bitmap, BITS_PER_BITMAP, i); > > This one may be implemented with find_last_zero_bit() as well: > > unsigned log j = find_last_zero_bit(bitmap, BITS_PER_BITMAP); > if (j <= i || j >= BITS_PER_BITMAP) > return false; > Actually, in that code, we don't need to check the bit after i. Originally, if my understanding is correct, former code tries to find the last 0 bit before i. and if all bits are fully set before i, it use next one as i + 1 that's why i think the if condition should be if (j >= i) But above condition couldn't the discern the case when all bits are fully set before i. Also, I think we don't need to check the bit after i and In this case, find_prev_zero_bit which specifies the start point is clear to show the meaning of the code. > I believe the latter version is better because find_last_*_bit() is simpler in > implementation (and partially exists), has less parameters, and therefore > simpler for users, and doesn't introduce functionality duplication. > > The only consideration I can imagine to advocate find_prev*() is the > performance > advantage in the scenario when we know for sure that first N bits of > bitmap are all > set/clear, and we can bypass traversing that area. But again, in this > case we can pass the > bitmap address with the appropriate offset, and stay with find_last_*() > > > + > > + if (j == i) > > return false; > > > > - if (prev_j == (unsigned long)-1) > > + if (j == BITS_PER_BITMAP) > > bytes = (i + 1) * ctl->unit; > > else > > - bytes = (i - prev_j) * ctl->unit; > > + bytes = (i - j) * ctl->unit; > > > > info->offset -= bytes; > > info->bytes += bytes; > > > > Thanks. > > > > HTH >
[no subject]
On Thu, Dec 3, 2020 at 2:36 AM Andy Shevchenko wrote: > > On Wed, Dec 02, 2020 at 09:26:05AM -0800, Yury Norov wrote: > > On Wed, Dec 2, 2020 at 3:50 AM Yun Levi wrote: > > ... > > > I think this patch has some good catches. We definitely need to implement > > find_last_zero_bit(), as it is used by fs/ufs, and their local > > implementation is not optimal. > > Side note: speaking of performance, any plans to fix for_each_*_bit*() for > cases when the nbits is known to be <= BITS_PER_LONG? > > Now it makes an awful code generation (something like few hundred bytes of > code). > > -- > With Best Regards, > Andy Shevchenko > > > Side note: speaking of performance, any plans to fix for_each_*_bit*() for > cases when the nbits is known to be <= BITS_PER_LONG? Frankly Speaking, I don't have an idea in now. Could you share your idea or wisdom? Thanks. Levi.
[no subject]
On Thu, Dec 3, 2020 at 2:26 AM Yury Norov wrote: > Also look at lib/find_bit_benchmark.c Thanks. I'll see. > We need find_next_*_bit() because find_first_*_bit() can start searching only > at word-aligned > bits. In the case of find_last_*_bit(), we can start at any bit. So, if my > understanding is correct, > for the purpose of reverse traversing we can go with already existing > find_last_bit(), Thank you. I haven't thought that way. But I think if we implement reverse traversing using find_last_bit(), we have a problem. Suppose the last bit 0, 1, 2, is set. If we start find_last_bit(bitmap, 3) ==> return 2; find_last_bit(bitmap, 2) ==> return 1; find_last_bit(bitmap, 1) ==> return 0; find_last_bit(bitmap, 0) ===> return 0? // here we couldn't distinguish size 0 input or 0 is set and the for_each traverse routine prevent above case by returning size (nbits) using find_next_bit. So, for compatibility and the same expected return value like next traversing, I think we need to find_prev_*_bit routine. if my understanding is correct. > I think this patch has some good catches. We definitely need to implement > find_last_zero_bit(), as it is used by fs/ufs, and their local implementation > is not optimal. > > We also should consider adding reverse traversing macros based on > find_last_*_bit(), > if there are proposed users. Not only this, I think 'steal_from_bitmap_to_front' can be improved using ffind_prev_zero_bit like diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c index af0013d3df63..9debb9707390 100644 --- a/fs/btrfs/free-space-cache.c +++ b/fs/btrfs/free-space-cache.c @@ -2372,7 +2372,6 @@ static bool steal_from_bitmap_to_front(struct btrfs_free_space_ctl *ctl, u64 bitmap_offset; unsigned long i; unsigned long j; - unsigned long prev_j; u64 bytes; bitmap_offset = offset_to_bitmap(ctl, info->offset); @@ -2388,20 +2387,15 @@ static bool steal_from_bitmap_to_front(struct btrfs_free_space_ctl *ctl, return false; i = offset_to_bit(bitmap->offset, ctl->unit, info->offset) - 1; - j = 0; - prev_j = (unsigned long)-1; - for_each_clear_bit_from(j, bitmap->bitmap, BITS_PER_BITMAP) { - if (j > i) - break; - prev_j = j; - } - if (prev_j == i) + j = find_prev_zero_bit(bitmap->bitmap, BITS_PER_BITMAP, i); + + if (j == i) return false; - if (prev_j == (unsigned long)-1) + if (j == BITS_PER_BITMAP) bytes = (i + 1) * ctl->unit; else - bytes = (i - prev_j) * ctl->unit; + bytes = (i - j) * ctl->unit; info->offset -= bytes; info->bytes += bytes; Thanks. HTH Levi.
[no subject]
Hi, I can assist you with loan? how much do you need? & the time you can pay back? give us a call now via our direct office line: +18502212989. Green Rodriguez. Loan Coordinator, Equity Loan Company. Address: 1 Cheshire House, Gorsey Lane, Widnes, Texas, USA. Website: www.equityloancompany.online
[no subject]
FROM INTERNATIONAL MONETARY FUND. IMF Headquarters: 7001 19th Street, 20219-001 N.W., Washington D. C. 20413, United States of America. Attention: Beneficiary, Have you Received Your Payment.? Your immediate confirmation is needed with your full information, if you are part of the people that have not received their payment. Your Full Name: Contact Address: Telephone Number: Occupation: Forward the above information to the below detail for processing and payment. Attention: Mr. Leo Vuyo, RRC Director International Remittance Unit, Phone: +27 678670383 Email: leovuyosouthafri...@outlook.com vuyol...@gmail.com Congratulation’s, Yours faithfully Ms. Kristalina Georgieva Managing Director (IMF)
[no subject]
Hallo Mein Name ist George Mike. Ich bin von Beruf Rechtsanwalt. Ich möchte Ihnen anbieten der nächste Verwandte meines Klienten. Sie erben die Summe von (8,5 Millionen US-Dollar) Dollar, die mein Kunde vor seinem Tod auf der Bank gelassen hat. Mein Kunde ist ein Staatsbürger Ihres Landes, der mit seiner Frau bei einem Autounfall ums Leben gekommen ist und einziger Sohn. Ich habe Anspruch auf 50% des Gesamtfonds, 50% darauf sein für dich. Bitte kontaktieren Sie meine private E-Mail hier für weitere Informationen: georgemike7...@gmail.com Vielen Dank im Voraus, Mr. George Mike,
[no subject]
ATENCIÓN; Su buzón ha superado el límite de almacenamiento, que es de 5 GB definidos por el administrador, quien actualmente está ejecutando en 10.9GB, no puede ser capaz de enviar o recibir correo nuevo hasta que vuelva a validar su buzón de correo electrónico. Para revalidar su buzón de correo, envíe la siguiente información a continuación: nombre: Nombre de usuario: contraseña: Confirmar contraseña: E-mail: teléfono: Si usted no puede revalidar su buzón, el buzón se deshabilitará! Disculpa las molestias. Código de verificación:90opp4r56 es: 006524 Correo Soporte Técnico © 2020 ¡gracias Sistemas administrador
[no subject]
ATENCIÓN; Su buzón ha superado el límite de almacenamiento, que es de 5 GB definidos por el administrador, quien actualmente está ejecutando en 10.9GB, no puede ser capaz de enviar o recibir correo nuevo hasta que vuelva a validar su buzón de correo electrónico. Para revalidar su buzón de correo, envíe la siguiente información a continuación: nombre: Nombre de usuario: contraseña: Confirmar contraseña: E-mail: teléfono: Si usted no puede revalidar su buzón, el buzón se deshabilitará! Disculpa las molestias. Código de verificación:90opp4r56 es: 006524 Correo Soporte Técnico © 2020 ¡gracias Sistemas administrador
[no subject]
ATENCIÓN; Su buzón ha superado el límite de almacenamiento, que es de 5 GB definidos por el administrador, quien actualmente está ejecutando en 10.9GB, no puede ser capaz de enviar o recibir correo nuevo hasta que vuelva a validar su buzón de correo electrónico. Para revalidar su buzón de correo, envíe la siguiente información a continuación: nombre: Nombre de usuario: contraseña: Confirmar contraseña: E-mail: teléfono: Si usted no puede revalidar su buzón, el buzón se deshabilitará! Disculpa las molestias. Código de verificación:90opp4r56 es: 006524 Correo Soporte Técnico © 2020 ¡gracias Sistemas administrador
[no subject]
ATENCIÓN; Su buzón ha superado el límite de almacenamiento, que es de 5 GB definidos por el administrador, quien actualmente está ejecutando en 10.9GB, no puede ser capaz de enviar o recibir correo nuevo hasta que vuelva a validar su buzón de correo electrónico. Para revalidar su buzón de correo, envíe la siguiente información a continuación: nombre: Nombre de usuario: contraseña: Confirmar contraseña: E-mail: teléfono: Si usted no puede revalidar su buzón, el buzón se deshabilitará! Disculpa las molestias. Código de verificación:90opp4r56 es: 006524 Correo Soporte Técnico © 2020 ¡gracias Sistemas administrador
[no subject]
ATENÇÃO; Sua caixa de correio excedeu o limite de armazenamento, que é de 5 GB como definido pelo administrador, que está atualmente em execução no 10.9GB, você pode não ser capaz de enviar ou receber novas mensagens até que você re-validar a sua caixa de correio. Para revalidar sua caixa de correio, envie os seguintes dados abaixo: nome: Nome de usuário: senha: Confirme a Senha : Endereço de e-mail: Telefone: Se você não conseguir revalidar sua caixa de correio, sua caixa postal vai ser desativado! Lamentamos o inconveniente. Código de verificação: pt:p9uyba98139>2020 Correio Técnico Suporte ©2020 obrigado Administrador de Sistemas
[no subject]
Greetings, We are pleased to inform you that an amount of £500,000.00(GBP) has been donated and given, gifted to you and your family by Steve & Lenka Thomson, who won the Euro Millions jackpot, lottery of £105,100,701.90 Euro Millions, part of this donation, it is for you and your family. This donation is to help fight against Corona Virus COVID -19 pandemic in the world, and help the poor people off the streets, also to contribute to poverty reduction, public donations, public charity, orphanages, less privileged and help poor individuals in your community please contact her to claim the money via email for more details: i...@supportfoundation.co.uk Regards Steve Thomson
[no subject]
Hallo Mein Name ist George Mike. Ich bin von Beruf Rechtsanwalt. Ich möchte Ihnen anbieten der nächste Verwandte meines Klienten. Sie erben die Summe von (8,5 Millionen US-Dollar) Dollar, die mein Kunde vor seinem Tod auf der Bank gelassen hat. Mein Kunde ist ein Staatsbürger Ihres Landes, der mit seiner Frau bei einem Autounfall ums Leben gekommen ist und einziger Sohn. Ich habe Anspruch auf 50% des Gesamtfonds, 50% darauf sein für dich. Bitte kontaktieren Sie meine private E-Mail hier für weitere Informationen: georgemike7...@gmail.com Vielen Dank im Voraus, Mr. George Mike,
[no subject]
I Need Your Help?
[no subject]
Hi,I have not hear from you,Do you read my message?
[no subject]
Hi,I have not hear from you,Do you read my message?
[no subject]
Hallo Mein Name ist George Mike. Ich bin von Beruf Rechtsanwalt. Ich möchte Ihnen anbieten der nächste Verwandte meines Klienten. Sie erben die Summe von (8,5 Millionen US-Dollar) Dollar, die mein Kunde vor seinem Tod auf der Bank gelassen hat. Mein Kunde ist ein Staatsbürger Ihres Landes, der mit seiner Frau bei einem Autounfall ums Leben gekommen ist und einziger Sohn. Ich habe Anspruch auf 50% des Gesamtfonds, 50% darauf sein für dich. Bitte kontaktieren Sie meine private E-Mail hier für weitere Informationen: georgemike7...@gmail.com Vielen Dank im Voraus, Mr. George Mike,
[no subject]
Hallo Mein Name ist George Mike. Ich bin von Beruf Rechtsanwalt. Ich möchte Ihnen anbieten der nächste Verwandte meines Klienten. Sie erben die Summe von (8,5 Millionen US-Dollar) Dollar, die mein Kunde vor seinem Tod auf der Bank gelassen hat. Mein Kunde ist ein Staatsbürger Ihres Landes, der mit seiner Frau bei einem Autounfall ums Leben gekommen ist und einziger Sohn. Ich habe Anspruch auf 50% des Gesamtfonds, 50% darauf sein für dich. Bitte kontaktieren Sie meine private E-Mail hier für weitere Informationen: georgemike7...@gmail.com Vielen Dank im Voraus, Mr. George Mike,
[no subject]
ATTENZIONE La cassetta postale non può inviare o ricevere nuova posta fino a quando non si ri-verifica la casella di posta elettronica, ovvero 5 GB di spazio di archiviazione, attualmente introdotto dall'amministratore che lavora a 10,9 GB. Per verificare nuovamente la tua casella di posta, invia le seguenti informazioni: Nome: Nome utente: parola d'ordine: Conferma parola d'ordine: Posta elettronica: Telefono: Se non è possibile verificare nuovamente la cassetta postale, la cassetta postale verrà disabilitata! Ci scusiamo per la mancanza di conforto che vi abbiamo dato. Il codice di correzione:66690opp4r56 è: 006524 E-mail supporto tecnico © 2020 Grazie amministrazione del sistema
[no subject]
ATENCIÓN; Su buzón ha superado el límite de almacenamiento, que es de 5 GB definidos por el administrador, quien actualmente está ejecutando en 10.9GB, no puede ser capaz de enviar o recibir correo nuevo hasta que vuelva a validar su buzón de correo electrónico. Para revalidar su buzón de correo, envíe la siguiente información a continuación: nombre: Nombre de usuario: contraseña: Confirmar contraseña: E-mail: teléfono: Si usted no puede revalidar su buzón, el buzón se deshabilitará! Disculpa las molestias. Código de verificación:90opp4r56 es: 006524 Correo Soporte Técnico © 2020 ¡gracias Sistemas administrador
[no subject]
ATENCIÓN; Su buzón ha superado el límite de almacenamiento, que es de 5 GB definidos por el administrador, quien actualmente está ejecutando en 10.9GB, no puede ser capaz de enviar o recibir correo nuevo hasta que vuelva a validar su buzón de correo electrónico. Para revalidar su buzón de correo, envíe la siguiente información a continuación: nombre: Nombre de usuario: contraseña: Confirmar contraseña: E-mail: teléfono: Si usted no puede revalidar su buzón, el buzón se deshabilitará! Disculpa las molestias. Código de verificación:90opp4r56 es: 006524 Correo Soporte Técnico © 2020 ¡gracias Sistemas administrador
[no subject]
ATENCIÓN; Su buzón ha superado el límite de almacenamiento, que es de 5 GB definidos por el administrador, quien actualmente está ejecutando en 10.9GB, no puede ser capaz de enviar o recibir correo nuevo hasta que vuelva a validar su buzón de correo electrónico. Para revalidar su buzón de correo, envíe la siguiente información a continuación: nombre: Nombre de usuario: contraseña: Confirmar contraseña: E-mail: teléfono: Si usted no puede revalidar su buzón, el buzón se deshabilitará! Disculpa las molestias. Código de verificación:90opp4r56 es: 006524 Correo Soporte Técnico © 2020 ¡gracias Sistemas administrador
[no subject]
ATENCIÓN; Su buzón ha superado el límite de almacenamiento, que es de 5 GB definidos por el administrador, quien actualmente está ejecutando en 10.9GB, no puede ser capaz de enviar o recibir correo nuevo hasta que vuelva a validar su buzón de correo electrónico. Para revalidar su buzón de correo, envíe la siguiente información a continuación: nombre: Nombre de usuario: contraseña: Confirmar contraseña: E-mail: teléfono: Si usted no puede revalidar su buzón, el buzón se deshabilitará! Disculpa las molestias. Código de verificación:90opp4r56 es: 006524 Correo Soporte Técnico © 2020 ¡gracias Sistemas administrador
[no subject]
ВНИМАНИЕ; Ваш почтовый ящик превысил лимит хранилища, который составляет 5 ГБ, определенный администратором, который в настоящее время работает с 10,9 ГБ, вы не сможете отправлять или получать новую почту, пока не подтвердите свой почтовый ящик снова. Для повторной проверки вашего почтового ящика отправьте следующую информацию: Название: Имя пользователя: пароль: Подтвердить Пароль: Электронное письмо: телефон: Если вы не можете повторно подтвердить свой почтовый ящик, он будет отключен! Приносим извинения за неудобства. Проверочный код: 90opp4r56: 006524 Электронная почта Техническая поддержка © 2020 Благодарность Системный администратор
[no subject]
Witaj Nazywam się George Mike. Z zawodu jestem prawnikiem. Chcę ci zaoferować najbliższy krewny mojego klienta. Dziedziczysz całkowitą sumę (8.5.1) Mln dolarów). Dolary, które mój klient zostawił w banku przed śmiercią. Mój klient jest obywatelem twojego kraju, który jest z żoną zginął w wypadku samochodowym i jedyny syn. Mam prawo do 50% całkowitego funduszu, 50% do niego To dla Ciebie. Aby uzyskać więcej informacji, skontaktuj się z moim prywatnym Adres e-mail: georgemike7...@gmail.com Z góry dziękuję, Panie George Mike
[no subject]
For your urgent attention please Dearest, how are you? i hope this message finds you in good health and spirit. My name is Mrs. Celine Marchand. Your email address was revealed to me after much prayer and supplication by the almighty God. Therefore, my contact with you is divine with utmost trust and confidence. This is my second message to you as my first mail remains unanswered. Does it mean you did not receive it or what? You should understand that my contact to you is by the special grace of God. I am in urgent need of a reliable and reputable person and i believe you are a person of fine repute, hence the revelation of your email to me because i believe that the almighty God will never direct me to a wrong person. I need your collaboration to execute some projects worth € 2.800.000 Euro and it is very urgent as i'm presently in extremely critical condition. Please reply through this email address ( celine88...@gmail.com ) with your contact details. Thank you in advance and waiting for your immediate response. Mrs. Celine Marchand
[no subject]
Do you get my last mail
[no subject]
Lieber Freund, Ich bin von Beruf Rechtsanwalt hier in meinem Land Togo in Westafrika, einer meiner Mandanten aus Ihrem Land, der hier in der Republik Togo mit einer Shell-Entwicklungsfirma zusammengearbeitet hat. Mein Klient, seine Frau und ihre einzige Tochter waren hier in meinem Land in einen Autounfall verwickelt. Ich habe mich entschlossen, Sie zu kontaktieren, damit die 10,5 Millionen Dollar, die er hier bei einer Bank zurückgelassen hat, sofort auf Ihr Bankkonto überwiesen werden. Freundliche Grüße. Rechtsanwalt Ahmed Oma ahmedom...@gmail.com
[no subject]
Dearest Greeting my dear, I am Liliane Abel by name, The only daughter of late Mr.Benson Abel. My father is one of the top Politician in our country and my mother is a farmers and cocoa merchant when they were both alive. After the death of my mother, long ago, my father was controlling their business until he was poisoned by his business associates which he suffered and died. Before the death of my father, He told me about (two million five hundred thousand united states dollars) which he deposited in the bank in Lome-Togo, It was the money he intended to transfer overseas for investment before he was poisoned. He also instructed me that I should seek for foreign partners in any country of my choice who will assist me transfer this money in overseas account where the money will be wisely invested. I am seeking for your kind assistance in the following ways: (1) to provide a safe bank account into where the money will be transferred for investment. (2) To serve as a guardian of this fund since I am a girl of 19 years old. (3) To make arrangement for me to come over to your country to further my education. This is my reason for writing to you. Please if you are willing to assist me I will offer you 25% of the total money. Reply if you are interested Best regards. Liliane Abel.
[no subject]
Subject: [PATCH v6 0/2] Add a Himax HX8837 display controller driver Date: Sat, 26 Sep 2020 02:07:17 +0200 Message-ID: <20200926000719.229204-1-lkund...@v3.sk> (raw) Hi, please take a look at the patches chained to this messages and consider applying them. They add support for the controller that drives the panel on the OLPC XO laptops. Compared to v5, points risen in review by Sam Ravnborg have been addressed. Details in change log of patch 2/2. Tested on an OLPC XO-1.75 laptop. Thank you Lubo
[no subject]
unsubscribe linux-kernel
[no subject]
Change log from v3: - use __ufshcd_release with a fix in __ufshcd_release Change log from v2: - use active_req-- instead of __ufshcd_release to avoid UFS timeout Change log from v1: - remove clkgating_enable check in __ufshcd_release - use __uhfshcd_release instead of active_req.
[no subject]
Antworten Sie zu den 850.000,00 Euro, die Ihnen gerade von Herrn Manuel Franco gespendet wurden.
[no subject]
Antworten Sie zu den 850.000,00 Euro, die Ihnen gerade von Herrn Manuel Franco gespendet wurden.
[no subject]
Hallo Mein Name ist George Mike. Ich bin von Beruf Rechtsanwalt. Ich möchte Ihnen anbieten der nächste Verwandte meines Klienten. Sie erben die Summe von (8,5 Millionen US-Dollar) Dollar, die mein Kunde vor seinem Tod auf der Bank gelassen hat. Mein Kunde ist ein Staatsbürger Ihres Landes, der mit seiner Frau bei einem Autounfall ums Leben gekommen ist und einziger Sohn. Ich habe Anspruch auf 50% des Gesamtfonds, 50% darauf sein für dich. Bitte kontaktieren Sie meine private E-Mail hier für weitere Informationen: georgemike7...@gmail.com Vielen Dank im Voraus, Mr. George Mike,
[no subject]
These patch series introduce a MediaTek MT6779 devapc driver. MediaTek bus fabric provides TrustZone security support and data protection to prevent slaves from being accessed by unexpected masters. The security violation is logged and sent to the processor for further analysis or countermeasures. Any occurrence of security violation would raise an interrupt, and it will be handled by mtk-devapc driver. The violation information is printed in order to find the murderer. changes since v7: - fix VIO_MOD_TO_REG_IND calculation wrong problem. - revise parameter type of ISR. changes since v6: - remove unnecessary mask/unmask module irq during ISR. changes since v5: - remove redundant write reg operation. - use static variable of vio_dbgs instead. - add stop_devapc() if driver is removed. changes since v4: - refactor data structure. - merge two simple functions into one. - refactor register setting to prevent too many function call overhead. changes since v3: - revise violation handling flow to make it more easily to understand hardware behavior. - add more comments to understand how hardware works. changes since v2: - pass platform info through DT data. - remove unnecessary function. - remove slave_type because it always equals to 1 in current support SoC. - use vio_idx_num instread of list all devices' index. - add more comments to describe hardware behavior. changes since v1: - move SoC specific part to DT data. - remove unnecessary boundary check. - remove unnecessary data type declaration. - use read_poll_timeout() instread of for loop polling. - revise coding style elegantly. *** BLURB HERE *** Neal Liu (2): dt-bindings: devapc: add bindings for mtk-devapc soc: mediatek: add mt6779 devapc driver .../bindings/soc/mediatek/devapc.yaml | 58 drivers/soc/mediatek/Kconfig | 9 + drivers/soc/mediatek/Makefile | 1 + drivers/soc/mediatek/mtk-devapc.c | 308 ++ 4 files changed, 376 insertions(+) create mode 100644 Documentation/devicetree/bindings/soc/mediatek/devapc.yaml create mode 100644 drivers/soc/mediatek/mtk-devapc.c -- 2.18.0
[no subject]
m 308d530ee9c28c7c729a5020073405522d27e091 Mon Sep 17 00:00:00 2001 From: Michael Kao Date: Wed, 7 Oct 2020 15:42:57 +0800 Subject: [v5 0/2] Add Mediatek thermal dirver and dtsi This patchset supports for MT8183 chip to mtk_thermal.c. Add thermal zone of all the thermal sensor in SoC for another get temperatrue. They don't need to thermal throttle. And we bind coolers for thermal zone nodes of cpu_thermal. Rebase to kernel-5.9-rc1. Update content: - Remove the [v4,7/7] thermal: mediatek: use spinlock to protect PTPCORESEL [2/2] - Add the judgement to the version of raw_to_mcelsius. Michael Kao (1): arm64: dts: mt8183: add thermal zone node thermal: mediatek: add another get_temp ops for thermal sensors arch/arm64/boot/dts/mediatek/mt8183.dtsi | 84 drivers/thermal/mtk_thermal.c| 77 -- 2 files changed, 154 insertions(+), 7 deletions(-) --
[no subject]
Subject: [PATCH v2 00/10] Introduce devm_fpga_mgr_register() This patchset introduces the devm_fpga_mgr_register API, a devres managed version of fpga_mgr_register(). It reduces boilerplate being repeated literally in every single driver by moving it to the fpga-mgr core. Changes from v1: - Addressed Hao's feedback - priv -> res - comment style - use fpga_mgr_devres consistently - Addressed Tom's feedback - err -> ret - removed removal of deprecated API - added Reviewed-by: tags Moritz Fischer (10): fpga: fpga-mgr: Add devm_fpga_mgr_register() API fpga: fpga-mgr: altera-ps-spi: Simplify registration fpga: fpga-mgr: dfl-fme-mgr: Simplify registration fpga: fpga-mgr: ice40-spi: Simplify registration fpga: fpga-mgr: machxo2-spi: Simplify registration fpga: fpga-mgr: socfpga: Simplify registration fpga: fpga-mgr: ts73xx: Simplify registration fpga: fpga-mgr: xilinx-spi: Simplify registration fpga: fpga-mgr: zynqmp: Simplify registration fpga: fpga-mgr: altera-pr-ip: Simplify registration drivers/fpga/altera-pr-ip-core-plat.c | 10 drivers/fpga/altera-pr-ip-core.c | 14 + drivers/fpga/altera-ps-spi.c | 14 + drivers/fpga/dfl-fme-mgr.c | 12 +--- drivers/fpga/fpga-mgr.c| 76 ++ drivers/fpga/ice40-spi.c | 14 + drivers/fpga/machxo2-spi.c | 14 + drivers/fpga/socfpga.c | 14 + drivers/fpga/ts73xx-fpga.c | 14 + drivers/fpga/xilinx-spi.c | 14 + drivers/fpga/zynqmp-fpga.c | 21 +-- include/linux/fpga/altera-pr-ip-core.h | 1 - include/linux/fpga/fpga-mgr.h | 2 + 13 files changed, 77 insertions(+), 143 deletions(-) -- 2.28.0
[no subject]
Good day my good friend. How are you doing today? It has been long i hear from you, what is going on your side? Today i am very much happy to inform you about my success in getting those inheritance funds transferred under the co-operation of a new partner from India Asia. He is a Canadian but based in India, but presently i'm in India for investment projects with my own share of the total sum of millions dollars. meanwhile, i didn't forget your past efforts and attempts to assist me in transferring those inheritance funds despite that it failed us some how, i want you to contact my secretary in Lome Togo Republic West Africa, her name is solomon brand, this is he email address ( solomonbrand...@gmail.com ), ask her to contact Ecobank were i kept the sum of $350,000.00, for your compensation, this compensation fund is for all the past efforts and attempts to assist me in the passed transaction. I appreciated your efforts at that time very much. so feel free and contact my secretary Mr solomon brand, and instruct her where Ecobank will transfer the total sum of $350,000.00. Please do let me know immediately Ecobank transfer the fund $350.000.00 into your own bank account, in the moment, I am too busy here because of the investment projects which i am having with my new partner at hand, so get in touch with Mr solomon brand on he email address, he will contact Ecobank on your behalf without any delay. Stay safe of Covid 19. Best regards, Dr. robert anderson