Subject: [PATCH] arm/arm64: remove atomic_clear_mask() in "include/asm/atomic.h"

From: [email-masked] (Chen Gang)
Date: Sat, 12 Oct 2013 10:09:50 +0800

On 10/12/2013 09:36 AM, Chen Gang wrote:
> On 10/11/2013 09:03 PM, Richard Weinberger wrote:
>> Am 11.10.2013 14:28, schrieb Will Deacon:
>>> On Fri, Oct 11, 2013 at 01:08:17PM +0100, Richard Weinberger wrote:
>>>> On Fri, Oct 11, 2013 at 1:47 PM, Chen Gang <[email-masked]> wrote:
>>>>> In current kernel wide source code, except other architectures, only
>>>>> s390 scsi drivers use atomic_clear_mask(), and arm/arm64 need not
>>>>> support s390 drivers.
>>>>>
>>>>> So remove atomic_clear_mask() from "arm[64]/include/asm/atomic.h".
>>>>
>>>> Is it really worth removing such a primitive?
>>>> If someone needs it later he has to implement it from scratch and
>>>> introduces bugs...
>>>
>>> The version we have (on ARM64 anyway) already has bugs. Given the choice
>>> between fixing code that has no callers and simply removing it, I'd go for
>>> the latter.
>>
>> Yeah, if it's broken and has no real users, send it to hell. :)
>>
> 
> OK, thanks.
> 
> 
> Hmm... at least, the original API definition is not well enough: "need
> use 'unsigned int' and 'atomic_t' instead of 'unsigned long' for the
> type of parameters".
> 
> But can we say "under arm64, it must be a bug"? (although I agree it is
> very easy to let callers miss using it -- then may cause issue).
> 
> In my opinion, it belongs to "API definition issue" not implementation
> bug: "if all callers are carefully enough, it will not make issues"
> (e.g. in "./kernel" sub-system, we can meet many such kinds of things).
> 

For "./kernel" sub-system, it really it is, if necessary, I can provide
3 samples.  ;-)

> Thanks.
>> Thanks,
>> //richard

-- 
Chen Gang