From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751623AbdIRCzQ (ORCPT ); Sun, 17 Sep 2017 22:55:16 -0400 Received: from mail-pg0-f47.google.com ([74.125.83.47]:44506 "EHLO mail-pg0-f47.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751408AbdIRCzM (ORCPT ); Sun, 17 Sep 2017 22:55:12 -0400 X-Google-Smtp-Source: ADKCNb4aCJicM5ymfc6sXzR++bLkYMQ2QcKEzAO3k7MhXRNBQ+Vh8fcBuIrWXPHWO2OH+Xiq64YN9A== Date: Mon, 18 Sep 2017 11:55:07 +0900 From: Sergey Senozhatsky To: Joe Perches Cc: Sergey Senozhatsky , Linus Torvalds , Sergey Senozhatsky , Petr Mladek , Steven Rostedt , Pavel Machek , Jan Kara , Andrew Morton , Jiri Slaby , Andreas Mohr , Tetsuo Handa , Linux Kernel Mailing List Subject: Re: printk: what is going on with additional newlines? Message-ID: <20170918025455.GD3161@jagdpanzerIV.localdomain> References: <20170905095900.GC2066@jagdpanzerIV.localdomain> <20170905122154.GG8741@pathway.suse.cz> <20170905134228.GE521@jagdpanzerIV.localdomain> <20170906075554.GI8741@pathway.suse.cz> <20170917062608.GA512@tigerII.localdomain> <20170918004641.GA3161@jagdpanzerIV.localdomain> <1505701349.12022.1.camel@perches.com> <20170918024111.GC3161@jagdpanzerIV.localdomain> <1505702746.12022.2.camel@perches.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1505702746.12022.2.camel@perches.com> User-Agent: Mutt/1.9.0 (2017-09-02) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On (09/17/17 19:45), Joe Perches wrote: [..] > > take a look at ACPI acpi_os_vprintf(). for instance. > > I've looked. I don't get your point. #define ACPI_MSG_ERROR KERN_ERR "ACPI Error: " #define ACPI_MSG_EXCEPTION KERN_ERR "ACPI Exception: " #define ACPI_MSG_WARNING KERN_WARNING "ACPI Warning: " #define ACPI_MSG_INFO KERN_INFO "ACPI: " so when we do acpi_os_printf(ACPI_MSG_WARNING "%s: ", pathname); we end up with printk("%s", KERN_WARNING "ACPI Warning: %%pathname%%"); note how acpi_os_vprintf() calls printk_get_level() _on_ the buffer is passes to printk("%s", buffer) because KERN_WARNING is part of the buffer, not the fmt. there are also other examples that do similar things. > Try git grep KERN_SOH. what for? -ss