Hi,

I have a Waveshare WM8960 1 Watt amp HAT and speakers that I would like
to get working with piCorePlayer. Seems pretty clear to me that it is
not supported at present; I can see one other post here where someone
has mentioned a WM8960 based card and given up. I know I there's a lot
of alternative known good options for not much money but:
    
- the whole package, which includes headphone output, stereo speakers
  and a handy button, is quite neat
- I've bought it now (all be it on the cheap)
- it would be a interesting to learn the TinyCore way
- if it works I can give something back to the piCorePlayer community
  
Here's the Waveshare support info
https://www.waveshare.com/wiki/WM8960_Audio_HAT

The driver code is here: https://github.com/waveshare/WM8960-Audio-HAT

The build process is designed for Raspbian, apt, dpkg etc. but I figure
I'll massage the script to get the driver to build on piCore.

I grabbed the kernel source V5.4.83 to match the piCore 7 kernel
version, linked it to the right place, did a couple of other tweaks and
eventually convinced make to begin to compile the kernel module.

Compilation fails with various errors but lets start with the first one
and see if the fix for that informs the subsequent errors. The error
message clearly states that a function (snd_soc_component_read()) is
given 2 arguments but expects 3. Digging around in
https://elixir.bootlin.com I gather that function has changed at some
point after my current kernel V5.4.83.

I've stopped short of posting the fine details of the errors for now.
I'd like to establish if my general approach is correct first. What to
do when you have driver code written for a later kernel?

So many questions:
  
- Do we have a feel for when the kernel will be upgraded next in
  piCorePlayer? TinyCore 13 is kernel 5.10.16 which has the newer
  version of the function. Am I best to wait till that time?
- Do I go ahead and hack at the c code? Not only does the function
  take different arguments, it returns differently too but its function
  is still basically the same.
- Might there be a trick where I compile against later kernel source
  and it still work?
- Am I going about this completely wrong?
  

Thanks in advance

Tom


------------------------------------------------------------------------
mistakenot...'s Profile: http://forums.slimdevices.com/member.php?userid=70887
View this thread: http://forums.slimdevices.com/showthread.php?t=114647

_______________________________________________
unix mailing list
unix@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/unix

Reply via email to