[LG G2 Mini] :
IJ,

hey hey, happy new year !

okay , can you provide me with link, git search yields nothing,

i had some questions as to kernel common sources being correct,

if you flash back to stock and install and run dalvik explorer or similar app it'll give tight info

on board

also some common sources are semi interchangeable for example

on the galaxy tab 4 10.1 and 8.0 msm8226 and msm8974 can be used to varied success depending on if the device

model is wifi only or gsm/lte/3g etcetera.

these changes also need to be correct in mkbootimg.mk as well as device's code name. this is an example from a kitkat tree but should

still apply,

MILLETWIFI_DTS_NAMES := msm8974

MILLETWIFI_DTS_FILES = $(wildcard $(TOP)/$(TARGET_KERNEL_SOURCE)/arch/arm/boot/dts/msm8974/msm8974-sec-milletwifi-*.dts)

there are always those who know more and must assert their smart-pantsedness ! :silly:

and they're probably right !

this is just what i've figured out so far. :good:

the codenames are from my device, your codename will be from yours

in boardconfig you must also match, up be correct

TARGET_BOOTLOADER_BOARD_NAME := MSM8974 <------your entry here
BOARD_KERNEL_SEPARATED_DT := true
BOARD_KERNEL_CMDLINE := blah blah [COLOR="DarkOliveGreen"]--dt dt.img[/COLOR] <-------append to line wherever as long as entry is correct and correctly spaced

defconfig is the pain, the readme in the kernel source package may or may not provide basic instruction concerning the correct defconfig,

search the defconfig in a text editor for msm and find out for certain your common source.

also search defconfig's for features you know your phone has, also in your environment rename your out directory to working-out and create a new folder call ktest-out, and use a symlink name out to switch between directories to save yourself alot of build time.

point to ktest-out , then lunch and run mka bootimage and probably mka libandroid_runtime, pack it up as an incremental update, flash

and start testing. when you get bootanimation and adb root access you're moving in the right direction.

if i think of anything else i'll let you know. you may be missing something in your device tree's include directory's device_perms.h

this i what mine looks like for my wifi only device

#ifndef DEVICE_PERMS_H

#define DEVICE_PERMS_H

#define PROPERTY_PERMS_APPEND \
{ "persist.audio.", AID_SYSTEM, 0 }, \
{ "persist.sys.camera.", AID_MEDIA, 0 }, \
{ "wlan.hdcp2.", AID_MEDIA, 0 },
#endif /* DEVICE_PERMS_H */

m

I FORGOT, on vibrator, in device tree include/hardware/vibrator.h maybe ?

this is an example from gpdroid git

/*
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

#ifndef _HARDWARE_VIBRATOR_H
#define _HARDWARE_VIBRATOR_H

#include <stdint.h>
#include <sys/cdefs.h>
#include <sys/types.h>

#include <hardware/hardware.h>

__BEGIN_DECLS

#define VIBRATOR_API_VERSION 1

/**
* The id of this module
*/
#define VIBRATOR_HARDWARE_MODULE_ID "vibrator"

/**
* Every hardware module must have a data structure named HAL_MODULE_INFO_SYM
* and the fields of this data structure must begin with hw_module_t
* followed by module specific information.
*/
typedef struct vibrator_module {
struct hw_module_t common;

/**
* Return whether the device has a vibrator.
*
* @return 1 if a vibrator exists, 0 if it doesn't.
*/
int (*vibrator_exists)();

/**
* Turn on vibrator
*
* @param timeout_ms number of milliseconds to vibrate
*
* @return 0 if successful, -1 if error
*/
int (*vibrator_on)(int timeout_ms);

/**
* Turn off vibrator
*
* @return 0 if successful, -1 if error
*/
int (*vibrator_off)();

/**
* Return minimum timeout for short vibrations
*
* @return timeout
*/
long (*get_vibrator_min_timeout)();
} vibrator_module_t;

__END_DECLS

#endif // _HARDWARE_VIBRATOR_H