Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754305AbcC3Ir4 (ORCPT ); Wed, 30 Mar 2016 04:47:56 -0400 Received: from mx0a-0016f401.pphosted.com ([67.231.148.174]:43038 "EHLO mx0a-0016f401.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752930AbcC3Irv (ORCPT ); Wed, 30 Mar 2016 04:47:51 -0400 Date: Wed, 30 Mar 2016 16:43:42 +0800 From: Jisheng Zhang To: Daniel Lezcano CC: Lorenzo Pieralisi , Catalin Marinas , , , Subject: Re: [PATCH 1/2] ARM: cpuidle: fix !cpuidle_ops[cpu].init case during init Message-ID: <20160330164342.10cf1830@xhacker> In-Reply-To: <56FB9125.10507@linaro.org> References: <1458796269-6158-1-git-send-email-jszhang@marvell.com> <1458796269-6158-2-git-send-email-jszhang@marvell.com> <56F52502.3060308@linaro.org> <20160330151629.0b338365@xhacker> <56FB89A8.90209@linaro.org> <20160330161745.7afd6e48@xhacker> <56FB9125.10507@linaro.org> X-Mailer: Claws Mail 3.13.2 (GTK+ 2.24.30; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2016-03-30_05:,, signatures=0 X-Proofpoint-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1601100000 definitions=main-1603300129 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1442 Lines: 40 On Wed, 30 Mar 2016 10:41:09 +0200 Daniel Lezcano wrote: > On 03/30/2016 10:17 AM, Jisheng Zhang wrote: > > On Wed, 30 Mar 2016 10:09:12 +0200 Daniel Lezcano wrote: > > > >> On 03/30/2016 09:16 AM, Jisheng Zhang wrote: > >>> Hi Daniel, > >> > >> [ ... ] > >> > >> Added Lorenzo and Catalin. > >> > >>>> Hi Jisheng, > >>>> > >>>> this should be handled in the arm_cpuidle_read_ops function. > >>>> > >>> > >>> Thanks for reviewing. After some consideration, I think this patch isn't correct > >>> There may be platforms which doesn't need the init member at all, although > >>> currently I don't see such platforms in mainline, So I'll drop this patch > >>> and send out one v2 only does the optimization. > >> > >> There is an inconsistency between ARM and ARM64. The 'cpu_get_ops', the > >> arm_cpuidle_read_ops from the ARM64 side, returns -EOPNOTSUPP when the > >> init function is not there for cpuidle. > > > > yes. > > arm64's arm_cpuidle_init() returns -EOPNOTSUPP if init callback isn't defined > > > >> > >> I don't think it is a problem, but as ARM/ARM64 are sharing the same > >> cpuidle-arm.c driver it would make sense to unify the behavior between > >> both archs. > > > > yes, agree with you. From "unify" point of view, could I move back the suspend > > callback check and init callback check into arm_cpuidle_init() for arm as V1 does? > > Why ? To be consistent with ARM64 ? Yes, that's my intention.