[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: flash_safe_acquire




finn.hakansson@xxxxxxx.com said:
>  Those functions are for locking and unlocking of the flash chip, i.e.
> semaphores. (At least in Axis's code.) The flash chip is locked and
> unlocked automatically during a read, write or an erase for instance.
> After you have called flash_safe_acquire() you can do other stuff like
> accessing individual bytes on the flash etc. flash_safe_acquire() and
> flash_safe_release() are used in jffs_scan_flash() for example. 

Hmmm:

	#define flash_safe_acquire(arg) 
	#define flash_safe_release(arg) 

Arbitration of access to the flash chips is handled correctly by the MTD 
device driver - which can handle interrupting erases to allow reads or even 
writes on some chips, etc. 

So flash_safe_acquire() and flash_safe_release() aren't needed to prevent 
the chip itself from getting confused by two concurrent access requests.

But is it needed at a higher level to ensure consistency of the data on the 
flash - e.g. to ensure that two consecutive MTD_WRITE() calls are in effect 
atomic?

If so, we need to put make it something other than a NOP.

--
dwmw2