From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id F148FC2D0E4 for ; Mon, 23 Nov 2020 16:01:11 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 22B5920719 for ; Mon, 23 Nov 2020 16:01:11 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="EdlHoC5n" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 22B5920719 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:48850 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1khEH7-0006H4-PG for qemu-devel@archiver.kernel.org; Mon, 23 Nov 2020 11:01:09 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:37946) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1khEFP-0005aY-O2 for qemu-devel@nongnu.org; Mon, 23 Nov 2020 10:59:25 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:56580) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1khEFN-0005n5-8X for qemu-devel@nongnu.org; Mon, 23 Nov 2020 10:59:23 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1606147160; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=4hRvr9uMVkfGy2vLkfJdSyq18SzpMCY5I/aekCbfuxg=; b=EdlHoC5ntnxAMmp/+qu4WtlacXklX64fBvIWf3tH2uhRVwBHKgV0n++tGTumwTokZuQ6T0 oEXB7ThAx8wBoE0y6OMkvy9wvXds4Oc4cKk7YNOM1JQijNHDo8BsRP5sav1usHrmbkUjR1 DTCeV1FSrg8vhEaYjuj69S3pDXGOdFo= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-576--H-Vq8ijMgCVZCBB2fxUWQ-1; Mon, 23 Nov 2020 10:59:16 -0500 X-MC-Unique: -H-Vq8ijMgCVZCBB2fxUWQ-1 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 75931100A642; Mon, 23 Nov 2020 15:59:15 +0000 (UTC) Received: from gondolin (ovpn-113-104.ams2.redhat.com [10.36.113.104]) by smtp.corp.redhat.com (Postfix) with ESMTP id B4F8219D7C; Mon, 23 Nov 2020 15:59:11 +0000 (UTC) Date: Mon, 23 Nov 2020 16:59:08 +0100 From: Cornelia Huck To: Markus Armbruster Subject: Re: [PATCH] hw/watchdog/wdt_diag288: Remove unnecessary includes Message-ID: <20201123165908.79203631.cohuck@redhat.com> In-Reply-To: <874klgtkn6.fsf@dusky.pond.sub.org> References: <20201118090344.243117-1-thuth@redhat.com> <800135fc-4552-b872-0117-4d9194393094@redhat.com> <873616kan8.fsf@dusky.pond.sub.org> <8a91ad94-9a18-1f8b-b73d-92872495fdc3@redhat.com> <874klgtkn6.fsf@dusky.pond.sub.org> Organization: Red Hat GmbH MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=cohuck@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=63.128.21.124; envelope-from=cohuck@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Thomas Huth , QEMU Developers , Halil Pasic , Christian Borntraeger , qemu-s390x , Philippe =?UTF-8?B?TWF0aGlldS1EYXVkw6k=?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" On Mon, 23 Nov 2020 11:47:25 +0100 Markus Armbruster wrote: > Thomas Huth writes: >=20 > > On 18/11/2020 15.30, Peter Maydell wrote: =20 > >> On Wed, 18 Nov 2020 at 14:24, Markus Armbruster wr= ote: =20 > >>> > >>> Philippe Mathieu-Daud=C3=A9 writes: > >>> =20 > >>>> On 11/18/20 10:03 AM, Thomas Huth wrote: =20 > >>>>> Both headers, sysbus.h and module.h, are not required to compile th= is file. =20 > >>> > >>> module.h is: it defines type_init(). =20 > >> =20 > >>>>> #include "qemu/timer.h" > >>>>> #include "hw/watchdog/wdt_diag288.h" > >>>>> #include "migration/vmstate.h" > >>>>> #include "qemu/log.h" > >>>>> -#include "qemu/module.h" =20 > >>>> > >>>> Cc'ing Markus because of: =20 > >> =20 > >>>> Include qemu/module.h where needed, drop it from qemu-common.h = =20 > >>> > >>> If it still compiles and links, it must get it via some other header.= =20 > >>=20 > >> Yes: wdt_diag288.c -> include/hw/watchdog/wdt_diag288.h -> > >> include/qom/object.h -> include/qemu/module.h =20 > > > > So what's now our expectation here? Should every file that uses type_in= it() > > also include module.h ? That's IMHO not very intuitive... > > Or are we fine that type_init() is provided by qom/object.h which needs= to > > be pulled in by every device sooner or later anyway? =20 >=20 > I think it's okay to rely on indirect inclusion. So, what's the final verdict? Maybe just tweak the description? "Neither sysbus.h nor module.h are required to compile this file. diag288 is not a sysbus device, and module.h (for type_init) is included eventually through qom/object.h."