Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751803AbbD2XHp (ORCPT ); Wed, 29 Apr 2015 19:07:45 -0400 Received: from bedivere.hansenpartnership.com ([66.63.167.143]:38411 "EHLO bedivere.hansenpartnership.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751306AbbD2XHl (ORCPT ); Wed, 29 Apr 2015 19:07:41 -0400 Message-ID: <1430348859.2189.37.camel@HansenPartnership.com> Subject: [RFC 0/3] Add capsule update using error on close semantics From: James Bottomley To: linux-efi@vger.kernel.org Cc: "Kweh, Hock Leong" , LKML , Andy Lutomirski , Greg Kroah-Hartman , Peter Jones Date: Wed, 29 Apr 2015 16:07:39 -0700 Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.12.11 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1668 Lines: 37 This is a straw man implementation. The three patches firstly thread the needed ->flush() file op through sysfs and kernfs. The next one extracts transaction buffer handling from firmware_class.c and makes it generic in a lib helper and the third patch adds a bare bones capsule update (I suspect the latter needs more work, since it doesn't implement the scatterlist). James Bottomley (3): sysfs,kernfs: add flush operation firmware_class: split out transaction helpers efi: add capsule update capability via sysfs drivers/base/firmware_class.c | 117 ++++--------------------------- drivers/firmware/efi/Makefile | 2 +- drivers/firmware/efi/capsule.c | 78 +++++++++++++++++++++ drivers/firmware/efi/capsule.h | 2 + drivers/firmware/efi/efi.c | 8 +++ fs/kernfs/file.c | 16 +++++ fs/sysfs/file.c | 16 +++++ include/linux/kernfs.h | 2 + include/linux/sysfs.h | 2 + include/linux/transaction_helper.h | 26 +++++++ lib/Makefile | 2 +- lib/transaction_helper.c | 137 +++++++++++++++++++++++++++++++++++++ 12 files changed, 304 insertions(+), 104 deletions(-) create mode 100644 drivers/firmware/efi/capsule.c create mode 100644 drivers/firmware/efi/capsule.h create mode 100644 include/linux/transaction_helper.h create mode 100644 lib/transaction_helper.c James -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/