Subject: Re: bug#32840: linux-libre 4.18.9: shpchp is no longer a module (now: built-in)

From: Mark H Weaver <[email-masked]>
Date: Wed, 17 Oct 2018 20:24:51 -0400

Hi Ludovic,

[email-masked] (Ludovic Courtès) writes:

> Mark H Weaver <[email-masked]> skribis:
>
>> Nils Gillmann <[email-masked]> writes:
>>
>>> at taler we need shpchp as a module in the initrd.
>>>
>>> Before version 4.18.x, shpchp was a module we've build in guix' linux-libre,
>>> you were able to just specify it for the initrd.
>>>
>>> With 4.18.9, this module became a compile-in/built-in (see linux
>>> commit log).  I want to avoid maintaining yet another kernel
>>> definition for future complications if I can.  Can we get this module
>>> built in by default?
>>
>> Sure, that sounds sensible.  I'll push a config update soon.
>
> I’ve reopened the bug because I think we need the same change as in
> fe73352e8073ea0a0e6f6b5591f24395671998ab for AArch64 (at least it
> appears to be needed on the OverDrive 1000.)
>
> Could you take a look?

Sure.  I've attached a proposed patch below.  Would you like to try it
and push it to master if it works?

> (I’m not entirely sure about the workflow to get the updated config from
> “make oldconfig”…)

FYI, my current method is:

* Unpack the latest linux-libre source.
* Copy the existing kernel configuration to .config in the source dir.
* Manually edit .config with desired configuration change.
* Within "guix environment linux-libre" run:

      ARCH=arm64 make oldconfig

  More generally, ARCH should be set to the value returned by
  'system->linux-architecture' in (gnu packages linux).
* Manually edit out some changes that are clearly irrelevant,
  such the addition of a top comment saying which compiler I have in my
  PATH.

Some day, I would prefer to have multiple smaller configuration files,
with a shared common configuration plus smaller architecture-specific
files, but we're not there yet.

     Thanks,
       Mark

>From 41fdb333b05e300622c4c41aaced70fff2c6df7f Mon Sep 17 00:00:00 2001
From: Mark H Weaver <[email-masked]>
Date: Wed, 17 Oct 2018 20:09:19 -0400
Subject: [PATCH] gnu: linux-libre: Enable SHPC PCI Hotplug driver on ARM64.

Fixes <https://bugs.gnu.org/32840> on ARM64.

* gnu/packages/aux-files/linux-libre/4.18-arm64.conf: Add
CONFIG_HOTPLUG_PCI_SHPC=y.
---
 gnu/packages/aux-files/linux-libre/4.18-arm64.conf | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/aux-files/linux-libre/4.18-arm64.conf b/gnu/packages/aux-files/linux-libre/4.18-arm64.conf
index ab30f51d2..64b14b52c 100644
--- a/gnu/packages/aux-files/linux-libre/4.18-arm64.conf
+++ b/gnu/packages/aux-files/linux-libre/4.18-arm64.conf
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/arm64 4.18.0-gnu Kernel Configuration
+# Linux/arm64 4.18.14-gnu Kernel Configuration
 #
 CONFIG_ARM64=y
 CONFIG_64BIT=y
@@ -481,7 +481,7 @@ CONFIG_HOTPLUG_PCI=y
 CONFIG_HOTPLUG_PCI_ACPI=y
 CONFIG_HOTPLUG_PCI_ACPI_IBM=m
 CONFIG_HOTPLUG_PCI_CPCI=y
-# CONFIG_HOTPLUG_PCI_SHPC is not set
+CONFIG_HOTPLUG_PCI_SHPC=y
 
 #
 # PCI controller drivers
-- 
2.19.1