lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <99B09243E1A5DA4898CDD8B7001114481082FAE10A@EXMB04.eu.tieto.com>
Date:	Mon, 14 Mar 2011 16:59:53 +0200
From:	<Waldemar.Rymarkiewicz@...to.com>
To:	<arnd@...db.de>, <matti.j.aaltonen@...ia.com>
CC:	<linux-i2c@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
	<hthebaud@...idefr.com>
Subject: RE: [PATCH] NFC: Driver for Inside Secure MicroRead NFC chip

Hi Arnd,

>Oh, I see you simply do
>
>       ret = i2c_master_send(client, info->buf, len);
>       usleep_range(1000, 10000);
>
>and assume that the buffer can always be written within a 
>milisecond, so you just slow down output enough to never have 
>to worry about it, right?
>
>A nicer solution would be to have an interrupt driven output 
>so you know when the i2c buffers have been flushed.

Well, I get the idea of interrupt driven output, but as I have little linux kernel experience I'm not sure how to implement this. 
Can you extend you thoughts or if you know piont me a driver which uses that concept?

I'm not sure who should rise an interrupt when data has been flushed. I2c core or the chip itself?
What's more, I guess the i2c_master_send  is a synchronous call and when it returnes we know it flushed data. Right? 

/Waldek

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ