diff --git a/include/README b/include/README deleted file mode 100644 index c80673277..000000000 --- a/include/README +++ /dev/null @@ -1,5 +0,0 @@ -The include file "einkfb.h" is distributed with Amazons Linux kernel sources -for the Kindle. It has no further copyright notice, so it's assumed to be -released under the GPLv2 originally. Under the "any later version" clause, it -should be OK to include it in this GPLv3 application. - diff --git a/include/einkfb.h b/include/einkfb.h deleted file mode 100644 index d5d620ab7..000000000 --- a/include/einkfb.h +++ /dev/null @@ -1,399 +0,0 @@ -#ifndef _EINKFB_H -#define _EINKFB_H - -#define EINK_1BPP 1 -#define EINK_2BPP 2 -#define EINK_4BPP 4 -#define EINK_8BPP 8 -#define EINK_BPP_MAX EINK_8BPP - -#define EINK_WHITE 0x00 // For whacking all the pixels in a... -#define EINK_BLACK 0xFF // ...byte (8, 4, 2, or 1) at once. - -// Replace EINK_WHITE & EINK_BLACK with the following macros. -// -#define eink_white(b) EINK_WHITE -#define eink_black(b) EINK_BLACK - -// For pixels (at bytes at a time) other than white/black, the following holds. -// -#define eink_pixels(b, p) (p) - -#define EINK_ORIENT_LANDSCAPE 1 -#define EINK_ORIENT_PORTRAIT 0 - -#define BPP_SIZE(r, b) (((r)*(b))/8) -#define BPP_MAX(b) (1 << (b)) - -#define U_IN_RANGE(n, m, M) ((((n) == 0) && ((m) == 0)) || (((n) > (m)) && ((n) <= (M)))) -#define IN_RANGE(n, m, M) (((n) >= (m)) && ((n) <= (M))) - -#define ORIENTATION(x, y) (((y) > (x)) ? EINK_ORIENT_PORTRAIT : EINK_ORIENT_LANDSCAPE) - -struct raw_image_t -{ - int xres, // image's width, in pixels - yres, // image's height - bpp; // image's pixel (bit) depth - - __u8 start[]; // actual start of image -}; -typedef struct raw_image_t raw_image_t; - -struct image_t -{ - int xres, // image's visual width, in pixels - xlen, // image's actual width, used for rowbyte & memory size calculations - yres, // image's height - bpp; // image's pixel (bit) depth - - __u8 *start; // pointer to start of image -}; -typedef struct image_t image_t; - -#define INIT_IMAGE_T() { 0, 0, 0, 0, NULL } - -enum splash_screen_type -{ - // Simple (non-composite) splash screens. - // - //splash_screen_powering_off = 0, // Deprecated. - //splash_screen_powering_on, // Deprecated. - - //splash_screen_powering_off_wireless, // Deprecated. - //splash_screen_powering_on_wireless, // Deprecated. - - //splash_screen_exit, // Deprecated. - splash_screen_logo = 5, - - //splash_screen_usb_internal, // Deprecated. - //splash_screen_usb_external, // Deprecated. - //splash_screen_usb, // Deprecated. - - //splash_screen_sleep, // Deprecated. - //splash_screen_update, // Deprecated. - - //num_splash_screens, // Deprecated. - - // Composite splash screens & messages. - // - //splash_screen_drivemode_0, // Deprecated. - //splash_screen_drivemode_1, // Deprecated. - //splash_screen_drivemode_2, // Deprecated. - //splash_screen_drivemode_3, // Deprecated. - - splash_screen_power_off_clear_screen = 16,// Message: clear screen and power down controller. - //splash_screen_screen_saver_picture, // Deprecated. - - splash_screen_shim_picture = 18, // Message: shim wants a picture displayed. - - splash_screen_lowbatt, // Picture: Not composite, post-legacy ordering (Mario only). - splash_screen_reboot, // Picture: Composite (not used on Fiona). - - splash_screen_update_initial, // Composite software-update screens. - splash_screen_update_success, // - splash_screen_update_failure, // - splash_screen_update_failure_no_wait, // - - splash_screen_repair_needed, // More composite screens. - splash_screen_boot, // - - splash_screen_invalid = -1 -}; -typedef enum splash_screen_type splash_screen_type; - -// Alias some of the legacy enumerations for Mario. -// -#define splash_screen_usb_recovery_util ((splash_screen_type)8) // splash_screen_usb - -struct power_override_t -{ - u_int cmd; - u_long arg; -}; -typedef struct power_override_t power_override_t; - -enum fx_type -{ - // Deprecated from the HAL, but still supported by the Shim. - // - fx_mask = 11, // Only for use with update_area_t's non-NULL buffer which_fx. - fx_buf_is_mask = 14, // Same as fx_mask, but doesn't require a doubling (i.e., the buffer & mask are the same). - - fx_none = -1, // No legacy-FX to apply. - - // Screen-update FX, supported by HAL. - // - fx_flash = 20, // Only for use with update_area_t (for faking a flashing update). - fx_invert = 21, // Only for use with update_area_t (only inverts output data). - - fx_update_partial = 0, // eInk GU/PU/MU-style (non-flashing) update. - fx_update_full = 1 // eInk GC-style (slower, flashing) update. -}; -typedef enum fx_type fx_type; - -// The only valid legacy-FX types for area updates are fx_mask and fx_buf_is_mask. -// -#define UPDATE_AREA_FX(f) \ - ((fx_mask == (f)) || \ - (fx_buf_is_mask == (f))) - -// The default ("none") for area updates is partial (non-flashing); full (flashing) updates -// are for FX and such (i.e., explicit completion is desired). -// -#define UPDATE_AREA_PART(f) \ - ((fx_none == (f)) || \ - (fx_update_partial == (f))) - -#define UPDATE_AREA_FULL(f) \ - (UPDATE_AREA_FX(f) || \ - (fx_update_full == (f))) - -#define UPDATE_AREA_MODE(f) \ - (UPDATE_AREA_FULL(f) ? fx_update_full \ - : fx_update_partial) - -// For use with the FBIO_EINK_UPDATE_DISPLAY ioctl. -// -#define UPDATE_PART(f) \ - (fx_update_partial == (f)) -#define UPDATE_FULL(f) \ - (fx_update_full == (f)) -#define UPDATE_MODE(f) \ - (UPDATE_FULL(f) ? fx_update_full \ - : fx_update_partial) - -struct rect_t -{ - // Note: The bottom-right (x2, y2) coordinate is actually such that (x2 - x1) and (y2 - y1) - // are xres and yres, respectively, when normally xres and yres would be - // (x2 - x1) + 1 and (y2 - y1) + 1, respectively. - // - int x1, y1, x2, y2; -}; -typedef struct rect_t rect_t; - -#define INIT_RECT_T() { 0, 0, 0, 0 } -#define MAX_EXCLUDE_RECTS 8 - -struct fx_t -{ - fx_type update_mode, // Screen-update FX: fx_update_full | fx_update_partial. - which_fx; // Shim (legacy) FX. - - int num_exclude_rects; // 0..MAX_EXCLUDE_RECTS. - rect_t exclude_rects[MAX_EXCLUDE_RECTS]; -}; -typedef struct fx_t fx_t; - -#define INIT_FX_T() \ - { fx_update_partial, fx_none, 0, { \ - INIT_RECT_T(), \ - INIT_RECT_T(), \ - INIT_RECT_T(), \ - INIT_RECT_T(), \ - INIT_RECT_T(), \ - INIT_RECT_T(), \ - INIT_RECT_T(), \ - INIT_RECT_T()} } - -struct update_area_t -{ - // Note: The bottom-right (x2, y2) coordinate is actually such that (x2 - x1) and (y2 - y1) - // are xres and yres, respectively, when normally xres and yres would be - // (x2 - x1) + 1 and (y2 - y1) + 1, respectively. - // - int x1, y1, // Top-left... - x2, y2; // ...bottom-right. - - fx_type which_fx; // FX to use. - - __u8 *buffer; // If NULL, extract from framebuffer, top-left to bottom-right, by rowbytes. -}; -typedef struct update_area_t update_area_t; - -#define INIT_UPDATE_AREA_T() { 0, 0, 0, 0, fx_none, NULL } - -struct progressbar_xy_t -{ - int x, y; // Top-left corner of progressbar's position (ignores x for now). -}; -typedef struct progressbar_xy_t progressbar_xy_t; - -enum screen_saver_t -{ - screen_saver_invalid = 0, - screen_saver_valid -}; -typedef enum screen_saver_t screen_saver_t; - -enum orientation_t -{ - orientation_portrait, - orientation_portrait_upside_down, - orientation_landscape, - orientation_landscape_upside_down -}; -typedef enum orientation_t orientation_t; - -#define num_orientations (orientation_landscape_upside_down + 1) - -#define ORIENTATION_PORTRAIT(o) \ - ((orientation_portrait == (o)) || (orientation_portrait_upside_down == (o))) - -#define ORIENTATION_LANDSCAPE(o) \ - ((orientation_landscape == (o)) || (orientation_landscape_upside_down == (o))) - -#define ORIENTATION_SAME(o1, o2) \ - ((ORIENTATION_PORTRAIT(o1) && ORIENTATION_PORTRAIT(o2)) || \ - (ORIENTATION_LANDSCAPE(o1) && ORIENTATION_LANDSCAPE(o2))) - -enum einkfb_events_t -{ - einkfb_event_update_display = 0, // FBIO_EINK_UPDATE_DISPLAY - einkfb_event_update_display_area, // FBIO_EINK_UPDATE_DISPLAY_AREA - - einkfb_event_blank_display, // FBIOBLANK (fb.h) - einkfb_event_rotate_display, // FBIO_EINK_SET_DISPLAY_ORIENTATION - - einkfb_event_null = -1 -}; -typedef enum einkfb_events_t einkfb_events_t; - -struct einkfb_event_t -{ - einkfb_events_t event; // Not all einkfb_events_t use all of the einkfb_event_t fields. - - fx_type update_mode; // Screen-update FX: fx_update_full | fx_update_partial. - - // Note: The bottom-right (x2, y2) coordinate is actually such that (x2 - x1) and (y2 - y1) - // are xres and yres, respectively, when normally xres and yres would be - // (x2 - x1) + 1 and (y2 - y1) + 1, respectively. - // - int x1, y1, // Top-left... - x2, y2; // ...bottom-right. - - orientation_t orientation; // Display rotated into this orientation. -}; -typedef struct einkfb_event_t einkfb_event_t; - -enum reboot_behavior_t -{ - reboot_screen_asis, - reboot_screen_clear, - reboot_screen_splash -}; -typedef enum reboot_behavior_t reboot_behavior_t; - -enum progressbar_badge_t -{ - progressbar_badge_success, - progressbar_badge_failure, - - progressbar_badge_none -}; -typedef enum progressbar_badge_t progressbar_badge_t; - -enum sleep_behavior_t -{ - sleep_behavior_allow_sleep, - sleep_behavior_prevent_sleep -}; -typedef enum sleep_behavior_t sleep_behavior_t; - -#define EINK_FRAME_BUFFER "/dev/fb/0" - -#define SIZEOF_EINK_EVENT sizeof(einkfb_event_t) -#define EINK_EVENTS "/dev/misc/eink_events" - -#define EINK_ROTATE_FILE "/sys/devices/platform/eink_fb.0/send_fake_rotate" -#define EINK_ROTATE_FILE_LEN 1 -#define ORIENT_PORTRAIT orientation_portrait -#define ORIENT_PORTRAIT_UPSIDE_DOWN orientation_portrait_upside_down -#define ORIENT_LANDSCAPE orientation_landscape -#define ORIENT_LANDSCAPE_UPSIDE_DOWN orientation_landscape_upside_down -#define ORIENT_ASIS (-1) - -#define EINK_USID_FILE "/var/local/eink/usid" - -#define EINK_CLEAR_SCREEN 0 -#define EINK_CLEAR_BUFFER 1 - -#define FBIO_EINK_SCREEN_CLEAR FBIO_EINK_CLEAR_SCREEN, EINK_CLEAR_SCREEN -#define FBIO_EINK_BUFFER_CLEAR FBIO_EINK_CLEAR_SCREEN, EINK_CLEAR_BUFFER - -#define FBIO_MIN_SCREEN splash_screen_powering_off -#define FBIO_MAX_SCREEN num_splash_screens -#define FBIO_SCREEN_IN_RANGE(s) \ - ((FBIO_MIN_SCREEN <= (s)) && (FBIO_MAX_SCREEN > (s))) - -#define FBIO_MAGIC_NUMBER 'F' - -// Implemented in the eInk HAL. -// -#define FBIO_EINK_UPDATE_DISPLAY _IO(FBIO_MAGIC_NUMBER, 0xdb) // 0x46db (fx_type) -#define FBIO_EINK_UPDATE_DISPLAY_AREA _IO(FBIO_MAGIC_NUMBER, 0xdd) // 0x46dd (update_area_t *) - -#define FBIO_EINK_RESTORE_DISPLAY _IO(FBIO_MAGIC_NUMBER, 0xef) // 0x46ef (fx_type) - -#define FBIO_EINK_SET_REBOOT_BEHAVIOR _IO(FBIO_MAGIC_NUMBER, 0xe9) // 0x46e9 (reboot_behavior_t) -#define FBIO_EINK_GET_REBOOT_BEHAVIOR _IO(FBIO_MAGIC_NUMBER, 0xed) // 0x46ed (reboot_behavior_t *) - -#define FBIO_EINK_SET_DISPLAY_ORIENTATION _IO(FBIO_MAGIC_NUMBER, 0xf0) // 0x46f0 (orientation_t) -#define FBIO_EINK_GET_DISPLAY_ORIENTATION _IO(FBIO_MAGIC_NUMBER, 0xf1) // 0x46f1 (orientation_t *) - -#define FBIO_EINK_SET_SLEEP_BEHAVIOR _IO(FBIO_MAGIC_NUMBER, 0xf2) // 0x46f2 (sleep_behavior_t) -#define FBIO_EINK_GET_SLEEP_BEHAVIOR _IO(FBIO_MAGIC_NUMBER, 0xf3) // 0x46f3 (sleep_behavior_t *) - -// Implemented in the eInk Shim. -// -#define FBIO_EINK_UPDATE_DISPLAY_FX _IO(FBIO_MAGIC_NUMBER, 0xe4) // 0x46e4 (fx_t *) -#define FBIO_EINK_SPLASH_SCREEN _IO(FBIO_MAGIC_NUMBER, 0xdc) // 0x46dc (splash_screen_type) -#define FBIO_EINK_SPLASH_SCREEN_SLEEP _IO(FBIO_MAGIC_NUMBER, 0xe0) // 0x46e0 (splash_screen_type) -#define FBIO_EINK_OFF_CLEAR_SCREEN _IO(FBIO_MAGIC_NUMBER, 0xdf) // 0x46df (EINK_CLEAR_SCREEN || EINK_CLEAR_BUFFER) -#define FBIO_EINK_CLEAR_SCREEN _IO(FBIO_MAGIC_NUMBER, 0xe1) // 0x46e1 (no args) -#define FBIO_EINK_POWER_OVERRIDE _IO(FBIO_MAGIC_NUMBER, 0xe3) // 0x46e3 (power_override_t *) - -#define FBIO_EINK_PROGRESSBAR _IO(FBIO_MAGIC_NUMBER, 0xea) // 0x46ea (int: 0..100 -> draw progressbar || !(0..100) -> clear progressbar) -#define FBIO_EINK_PROGRESSBAR_SET_XY _IO(FBIO_MAGIC_NUMBER, 0xeb) // 0x46eb (progressbar_xy_t *) -#define FBIO_EINK_PROGRESSBAR_BADGE _IO(FBIO_MAGIC_NUMBER, 0xec) // 0x46ec (progressbar_badge_t); -#define FBIO_EINK_PROGRESSBAR_BACKGROUND _IO(FBIO_MAGIC_NUMBER, 0xf4) // 0x46f4 (int: EINKFB_WHITE || EINKFB_BLACK) - -// Deprecated from the HAL & Shim. -// -//#define FBIO_EINK_UPDATE_DISPLAY_ASYNC _IO(FBIO_MAGIC_NUMBER, 0xde) // 0x46de (fx_type: fx_update_full || fx_update_partial) -//#define FBIO_EINK_FAKE_PNLCD _IO(FBIO_MAGIC_NUMBER, 0xe8) // 0x46e8 (char *) - -// For use with /proc/eink_fb/update_display. -// -#define PROC_EINK_UPDATE_DISPLAY_CLS 0 // FBIO_EINK_CLEAR_SCREEN -#define PROC_EINK_UPDATE_DISPLAY_PART 1 // FBIO_EINK_UPDATE_DISPLAY(fx_update_partial) -#define PROC_EINK_UPDATE_DISPLAY_FULL 2 // FBIO_EINK_UPDATE_DISPLAY(fx_update_full) -#define PROC_EINK_UPDATE_DISPLAY_AREA 3 // FBIO_EINK_UPDATE_DISPLAY_AREA -//#define PROC_EINK_UPDATE_DISPLAY_REST 4 // FBIO_EINK_RESTORE_SCREEN -#define PROC_EINK_UPDATE_DISPLAY_SCRN 5 // FBIO_EINK_SPLASH_SCREEN -#define PROC_EINK_UPDATE_DISPLAY_OVRD 6 // FBIO_EINK_FPOW_OVERRIDE -#define PROC_EINK_UPDATE_DISPLAY_FX 7 // FBIO_EINK_UPDATE_DISPLAY_FX -//#define PROC_EINK_UPDATE_DISPLAY_SYNC 8 // FBIO_EINK_SYNC_BUFFERS -//#define PROC_EINK_UPDATE_DISPLAY_PNLCD 9 // FBIO_EINK_FAKE_PNLCD -#define PROC_EINK_SET_REBOOT_BEHAVIOR 10 // FBIO_EINK_SET_REBOOT_BEHAVIOR -#define PROC_EINK_SET_PROGRESSBAR_XY 11 // FBIO_EINK_PROGRESSBAR_SET_XY -#define PROC_EINK_UPDATE_DISPLAY_SCRN_SLP 12 // FBIO_EINK_SPLASH_SCREEN_SLEEP -#define PROC_EINK_PROGRESSBAR_BADGE 13 // FBIO_EINK_PROGRESSBAR_BADGE -#define PROC_EINK_SET_DISPLAY_ORIENTATION 14 // FBIO_EINK_SET_DISPLAY_ORIENTATION -#define PROC_EINK_RESTORE_DISPLAY 15 // FBIO_EINK_RESTORE_DISPLAY -#define PROC_EINK_SET_SLEEP_BEHAVIOR 16 // FBIO_EINK_SET_SLEEP_BEHAVIOR -#define PROC_EINK_PROGRESSBAR_BACKGROUND 17 // FBIO_EINK_PROGRESSBAR_BACKGROUND -#define PROC_EINK_UPDATE_DISPLAY_WHICH 18 // FBIO_EINK_UPDATE_DISPLAY - -//#define PROC_EINK_FAKE_PNLCD_TEST 100 // Programmatically drive FBIO_EINK_FAKE_PNLCD (not implemented). -#define PROC_EINK_GRAYSCALE_TEST 101 // Fills display with white-to-black ramp at current bit depth. - -// Inter-module/inter-driver eink ioctl access. -// -extern int fiona_eink_ioctl_stub(unsigned int cmd, unsigned long arg); - -#define eink_sys_ioctl(cmd, arg) (get_fb_ioctl() ? (*get_fb_ioctl())((unsigned int)cmd, (unsigned long)arg) \ - : fiona_eink_ioctl_stub((unsigned int)cmd, (unsigned long)arg)) - -#endif // _EINKFB_H diff --git a/include/mxcfb.h b/include/mxcfb.h deleted file mode 100644 index a933ef1ad..000000000 --- a/include/mxcfb.h +++ /dev/null @@ -1,196 +0,0 @@ -/* - * Copyright 2004-2011 Freescale Semiconductor, Inc. All Rights Reserved. - * - * - Modified by houqp, added mxcfb_update_data struct from GeekMaster's - * video player, refer to: - * http://www.mobileread.com/forums/showthread.php?t=177455&page=10 - * - * - Modified mxcfb_alt_buffer_data struct according to include/linux/mxcfb.h - * from Kindle 5.3.0 firmware. Thanks to eureka@mobileread. - * http://www.mobileread.com/forums/showpost.php?p=2337118&postcount=818 - * - * - * The code contained herein is licensed under the GNU Lesser General - * Public License. You may obtain a copy of the GNU Lesser General - * Public License Version 2.1 or later at the following locations: - * - * http://www.opensource.org/licenses/lgpl-license.html - * http://www.gnu.org/copyleft/lgpl.html - */ - - -/* - * @file arch-mxc/ mxcfb.h - * - * @brief Global header file for the MXC Frame buffer - * - * @ingroup Framebuffer - */ - -#ifndef __ASM_ARCH_MXCFB_H__ -#define __ASM_ARCH_MXCFB_H__ - -//#include - -#define FB_SYNC_OE_LOW_ACT 0x80000000 -#define FB_SYNC_CLK_LAT_FALL 0x40000000 -#define FB_SYNC_DATA_INVERT 0x20000000 -#define FB_SYNC_CLK_IDLE_EN 0x10000000 -#define FB_SYNC_SHARP_MODE 0x08000000 -#define FB_SYNC_SWAP_RGB 0x04000000 - -struct mxcfb_gbl_alpha { - int enable; - int alpha; -}; - -struct mxcfb_loc_alpha { - int enable; - int alpha_in_pixel; - unsigned long alpha_phy_addr0; - unsigned long alpha_phy_addr1; -}; - -struct mxcfb_color_key { - int enable; - __u32 color_key; -}; - -struct mxcfb_pos { - __u16 x; - __u16 y; -}; - -struct mxcfb_gamma { - int enable; - int constk[16]; - int slopek[16]; -}; - -struct mxcfb_rect { - __u32 top; - __u32 left; - __u32 width; - __u32 height; -}; - -#define GRAYSCALE_8BIT 0x1 -#define GRAYSCALE_8BIT_INVERTED 0x2 - -#define AUTO_UPDATE_MODE_REGION_MODE 0 -#define AUTO_UPDATE_MODE_AUTOMATIC_MODE 1 - -#define UPDATE_SCHEME_SNAPSHOT 0 -#define UPDATE_SCHEME_QUEUE 1 -#define UPDATE_SCHEME_QUEUE_AND_MERGE 2 - -#define UPDATE_MODE_PARTIAL 0x0 -#define UPDATE_MODE_FULL 0x1 - -#define WAVEFORM_MODE_AUTO 257 - -#define TEMP_USE_AMBIENT 0x1000 - -#define EPDC_FLAG_ENABLE_INVERSION 0x01 -#define EPDC_FLAG_FORCE_MONOCHROME 0x02 -#define EPDC_FLAG_USE_ALT_BUFFER 0x100 - -#define FB_POWERDOWN_DISABLE -1 -#define FB_TEMP_AUTO_UPDATE_DISABLE -1 - -struct mxcfb_alt_buffer_data { - /* virt_addr is not included in amazon's source */ - /* void *virt_addr; */ - __u32 phys_addr; - __u32 width; /* width of entire buffer */ - __u32 height; /* height of entire buffer */ - struct mxcfb_rect alt_update_region; /* region within buffer to update */ -}; - -struct mxcfb_update_data { - struct mxcfb_rect update_region; - __u32 waveform_mode; - __u32 update_mode; - __u32 update_marker; - __u32 hist_bw_waveform_mode; - __u32 hist_gray_waveform_mode; - int temp; - uint flags; - struct mxcfb_alt_buffer_data alt_buffer_data; -}; -typedef struct mxcfb_update_data mxcfb_update_data; - -/* this is only used in kindle firmware 5.0, later version (5.1) has changed - * the struct to mxcfb_update_data (see above) */ -struct mxcfb_update_data_50x { - struct mxcfb_rect update_region; - __u32 waveform_mode; - __u32 update_mode; - __u32 update_marker; - int temp; - uint flags; - struct mxcfb_alt_buffer_data alt_buffer_data; -}; - -/* - * Structure used to define waveform modes for driver - * Needed for driver to perform auto-waveform selection - */ -struct mxcfb_waveform_modes { - int mode_init; - int mode_du; - int mode_gc4; - int mode_gc8; - int mode_gc16; - int mode_gc32; -}; - -#define MXCFB_WAIT_FOR_VSYNC _IOW('F', 0x20, u_int32_t) -#define MXCFB_SET_GBL_ALPHA _IOW('F', 0x21, struct mxcfb_gbl_alpha) -#define MXCFB_SET_CLR_KEY _IOW('F', 0x22, struct mxcfb_color_key) -#define MXCFB_SET_OVERLAY_POS _IOWR('F', 0x24, struct mxcfb_pos) -#define MXCFB_GET_FB_IPU_CHAN _IOR('F', 0x25, u_int32_t) -#define MXCFB_SET_LOC_ALPHA _IOWR('F', 0x26, struct mxcfb_loc_alpha) -#define MXCFB_SET_LOC_ALP_BUF _IOW('F', 0x27, unsigned long) -#define MXCFB_SET_GAMMA _IOW('F', 0x28, struct mxcfb_gamma) -#define MXCFB_GET_FB_IPU_DI _IOR('F', 0x29, u_int32_t) -#define MXCFB_GET_DIFMT _IOR('F', 0x2A, u_int32_t) -#define MXCFB_GET_FB_BLANK _IOR('F', 0x2B, u_int32_t) -#define MXCFB_SET_DIFMT _IOW('F', 0x2C, u_int32_t) - -/* IOCTLs for E-ink panel updates */ -#define MXCFB_SET_WAVEFORM_MODES _IOW('F', 0x2B, struct mxcfb_waveform_modes) -#define MXCFB_SET_TEMPERATURE _IOW('F', 0x2C, int32_t) -#define MXCFB_SET_AUTO_UPDATE_MODE _IOW('F', 0x2D, __u32) -#define MXCFB_SEND_UPDATE_50X _IOW('F', 0x2E, struct mxcfb_update_data_50x) -#define MXCFB_WAIT_FOR_UPDATE_COMPLETE _IOW('F', 0x2F, __u32) -#define MXCFB_SET_PWRDOWN_DELAY _IOW('F', 0x30, int32_t) -#define MXCFB_GET_PWRDOWN_DELAY _IOR('F', 0x31, int32_t) -#define MXCFB_SET_UPDATE_SCHEME _IOW('F', 0x32, __u32) -#define MXCFB_GET_PMIC_TEMPERATURE _IOR('F', 0x32, int32_t) -#define MXCFB_SET_BORDER_MODE _IOR('F', 0x33, int32_t) -#define MXCFB_SET_EPD_PWR0_CTRL _IOR('F', 0x34, int32_t) -#define MXCFB_SET_EPD_PWR2_CTRL _IOR('F', 0x35, int32_t) -#define MXCFB_SET_TEMP_AUTO_UPDATE_PERIOD _IOR('F', 0x36, int32_t) -#define MXCFB_SET_MERGE_ON_WAVEFORM_MISMATCH _IOW('F', 0x37, int32_t) - -/* IOCTLs for E-ink panel updates, kindle firmware version >= 5.1 */ -#define MXCFB_SEND_UPDATE _IOW('F', 0x2E, struct mxcfb_update_data) - -#ifdef __KERNEL__ - -extern struct fb_videomode mxcfb_modedb[]; -extern int mxcfb_modedb_sz; - -enum { - MXCFB_REFRESH_OFF, - MXCFB_REFRESH_AUTO, - MXCFB_REFRESH_PARTIAL, -}; - -int mxcfb_set_refresh_mode(struct fb_info *fbi, int mode, - struct mxcfb_rect *update_region); - -int mxc_elcdif_frame_addr_setup(dma_addr_t phys); -#endif /* __KERNEL__ */ -#endif diff --git a/kpvcrlib/CMakeLists.txt b/kpvcrlib/CMakeLists.txt deleted file mode 100644 index ba011329d..000000000 --- a/kpvcrlib/CMakeLists.txt +++ /dev/null @@ -1,96 +0,0 @@ - -PROJECT(kpvcrlib) -cmake_minimum_required(VERSION 2.6) - -SET(MUPDF_DIR ../mupdf) -SET(MUPDF_3RDPARTY_DIR ${MUPDF_DIR}/thirdparty) -SET(CR_3RDPARTY_DIR crengine/thirdparty) -SET(CRE_DIR crengine/crengine) - -SET(CR3_PNG 1) -#SET(CR3_JPEG 1) - -SET(FREETYPE_INCLUDE_DIRS ${MUPDF_3RDPARTY_DIR}/freetype/include) -#SET(FREETYPE_INCLUDE_DIRS ${CR_3RDPARTY_DIR}/freetype/include) -SET(ANTIWORD_INCLUDE_DIR ${CR_3RDPARTY_DIR}/antiword) -SET(CHM_INCLUDE_DIRS ${CR_3RDPARTY_DIR}/chmlib) -SET(PNG_INCLUDE_DIR ${CR_3RDPARTY_DIR}/libpng) -SET(ZLIB_INCLUDE_DIR ${MUPDF_3RDPARTY_DIR}/zlib) -#SET(ZLIB_INCLUDE_DIR ${CR_3RDPARTY_DIR}/zlib) -SET(JPEGLIB_INCLUDE_DIR ${MUPDF_3RDPARTY_DIR}/jpeg) -#SET(JPEGLIB_INCLUDE_DIR ${CR_3RDPARTY_DIR}/libjpeg) -SET(JCONFIG_INCLUDE_DIR ${MUPDF_DIR}/scripts) -SET(CREGINE_INCLUDE_DIR ${CRE_DIR}/include) - -INCLUDE_DIRECTORIES( - ${JCONFIG_INCLUDE_DIR} - ${FREETYPE_INCLUDE_DIRS} - ${ANTIWORD_INCLUDE_DIR} - ${CHM_INCLUDE_DIRS} - ${PNG_INCLUDE_DIR} - ${ZLIB_INCLUDE_DIR} - ${JPEGLIB_INCLUDE_DIR} - ${CREGINE_INCLUDE_DIR} -) - -ADD_DEFINITIONS(-DLINUX=1 -D_LINUX=1 -DUSE_FONTCONFIG=0 -DUSE_FREETYPE=1 -DCR3_PATCH=1 -DNDEBUG=1) - - -message("Will build patched LIBCHM library") -ADD_DEFINITIONS(-DCHM_SUPPORT_ENABLED=1) -ADD_SUBDIRECTORY(${CR_3RDPARTY_DIR}/chmlib) - -message("Will build patched LIBPNG library") -ADD_SUBDIRECTORY(${CR_3RDPARTY_DIR}/libpng) - -#message("Will build patched JPEGLIB library") -#ADD_SUBDIRECTORY(${CR_3RDPARTY_DIR}/libjpeg) - -message("Will build patched ANTIWORD library") -ADD_DEFINITIONS(-DENABLE_ANTIWORD=1) -ADD_DEFINITIONS(-DCR3_ANTIWORD_PATCH=1) -ADD_SUBDIRECTORY(${CR_3RDPARTY_DIR}/antiword) - -message("Will build crengine library") -#SET(GUI kpv) -#ADD_SUBDIRECTORY(crengine/crengine) - -ADD_DEFINITIONS(-DHAVE_PROTOTYPES) -ADD_DEFINITIONS(-DHAVE_UNSIGNED_CHAR) -ADD_DEFINITIONS(-Dmain=xxxmain) -SET (CRENGINE_SOURCES - ${CRE_DIR}/src/cp_stats.cpp - ${CRE_DIR}/src/lvstring.cpp - ${CRE_DIR}/src/props.cpp - ${CRE_DIR}/src/lstridmap.cpp - ${CRE_DIR}/src/rtfimp.cpp - ${CRE_DIR}/src/lvmemman.cpp - ${CRE_DIR}/src/lvstyles.cpp - ${CRE_DIR}/src/crtxtenc.cpp - ${CRE_DIR}/src/lvtinydom.cpp - ${CRE_DIR}/src/lvstream.cpp - ${CRE_DIR}/src/lvxml.cpp - ${CRE_DIR}/src/chmfmt.cpp - ${CRE_DIR}/src/epubfmt.cpp - ${CRE_DIR}/src/pdbfmt.cpp - ${CRE_DIR}/src/wordfmt.cpp - ${CRE_DIR}/src/lvstsheet.cpp - ${CRE_DIR}/src/txtselector.cpp - ${CRE_DIR}/src/crtest.cpp - ${CRE_DIR}/src/lvbmpbuf.cpp - ${CRE_DIR}/src/lvfnt.cpp - ${CRE_DIR}/src/hyphman.cpp - ${CRE_DIR}/src/lvfntman.cpp - ${CRE_DIR}/src/lvimg.cpp - ${CRE_DIR}/src/crskin.cpp - ${CRE_DIR}/src/lvdrawbuf.cpp - ${CRE_DIR}/src/lvdocview.cpp - ${CRE_DIR}/src/lvpagesplitter.cpp - ${CRE_DIR}/src/lvtextfm.cpp - ${CRE_DIR}/src/lvrend.cpp - ${CRE_DIR}/src/wolutil.cpp - ${CRE_DIR}/src/hist.cpp - ${CRE_DIR}/src/cri18n.cpp -) -ADD_LIBRARY(crengine SHARED ${CRENGINE_SOURCES}) - diff --git a/kpvcrlib/cr3.css b/kpvcrlib/cr3.css deleted file mode 100644 index 4fd4e1d66..000000000 --- a/kpvcrlib/cr3.css +++ /dev/null @@ -1,74 +0,0 @@ -body { text-align: left; text-indent: 0px } -p { text-align: justify; text-indent: 2em; margin-top:0em; margin-bottom: 0em } - -empty-line { height: 1em } - -hr { height: 1px; /* background-color: #808080; */ margin-top: 0.5em; margin-bottom: 0.5em } - -sub { vertical-align: sub; font-size: 70% } -sup { vertical-align: super; font-size: 70% } -strong, b { font-weight: bold } -emphasis, i { font-style: italic } - -a { text-decoration: underline } -a[type="note"] { vertical-align: super; font-size: 70%; text-decoration: none } - -image { text-align: center; text-indent: 0px } -p image { display: inline } - -title p, subtitle p, h1 p, h2 p, h3 p, h4 p, h5 p, h6 p { text-align: center; text-indent: 0px } -cite p, epigraph p { text-align: left; text-indent: 0px } -v { text-align: left; text-indent: 0px } - -stanza + stanza { margin-top: 1em; } -stanza { margin-left: 30%; text-align: left; font-style: italic } -poem { margin-top: 1em; margin-bottom: 1em; text-indent: 0px } -text-author { font-weight: bold; font-style: italic; margin-left: 5%} -epigraph { margin-left: 25%; margin-right: 1em; text-align: left; text-indent: - 1px; font-style: italic; margin-top: 15px; margin-bottom: 25px } -cite { font-style: italic; margin-left: 5%; margin-right: 5%; text-align: justify; - margin-top: 20px; margin-bottom: 20px } - -title, h1, h2 { text-align: center; text-indent: 0px; font-weight: bold; hyphenate: none; - page-break-before: always; page-break-inside: avoid; page-break-after: avoid; } -subtitle, h3, h4, h5, h6 { text-align: center; text-indent: 0px; font-weight: bold; - hyphenate: none; page-break-inside: avoid; page-break-after: avoid; } -title { font-size: 110%; margin-top: 0.7em; margin-bottom: 0.5em } -subtitle { font-style: italic; margin-top: 0.3em; margin-bottom: 0.3em } -h1 { font-size: 150% } -h2 { font-size: 140% } -h3 { font-size: 130% } -h4 { font-size: 120% } -h5 { font-size: 110% } - - -table { font-size: 80% } -td, th { text-indent: 0px; padding: 3px } -th { font-weight: bold; /* background-color: #DDD */ } -table > caption { text-indent: 0px; padding: 4px; /* background-color: #EEE */ } - -code, pre { display: block; white-space: pre; text-align: left; - font-family: "Droid Sans Mono", monospace; text-align: left } - -body[name="notes"] { font-size: 70%; } -body[name="notes"] section title { display: run-in; text-align: left; font-size: 110%; - font-weight: bold; page-break-before: auto; page-break-inside: auto; - page-break-after: auto; } -body[name="notes"] section title p { display: inline } - -description { display: block; } -title-info { display: block; } -annotation { margin-left: 5%; margin-right: 5%; font-size: 80%; font-style: italic; - text-align: justify; text-indent: 2em } -date { display: block; font-size: 80%; font-style: italic; text-align: center } -genre { display: none; } -author { display: none; } -book-title { display: none; } -keywords { display: none; } -lang { display: none; } -src-lang { display: none; } -translator { display: none; } -document-info { display: none; } -publish-info { display: none; } -custom-info { display: none; } -coverpage { display: none } diff --git a/kpvcrlib/lvdocview-getCurrentPageLinks.patch b/kpvcrlib/lvdocview-getCurrentPageLinks.patch deleted file mode 100644 index 168b2e1f9..000000000 --- a/kpvcrlib/lvdocview-getCurrentPageLinks.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/crengine/src/lvdocview.cpp b/crengine/src/lvdocview.cpp -index e7a355a..e1178de 100755 ---- a/crengine/src/lvdocview.cpp -+++ b/crengine/src/lvdocview.cpp -@@ -4539,7 +4539,8 @@ void LVDocView::getCurrentPageLinks(ldomXRangeList & list) { - if (_list[i]->getStart().getNode() == elem) - return true; // don't add, duplicate found! - } -- _list.add(new ldomXRange(elem->getChildNode(0))); -+ ldomNode * node = elem->getChildNode(0); -+ if ( node ) _list.add(new ldomXRange(node)); - } - return true; - } diff --git a/kpvcrlib/lvrend_node_type_face.patch b/kpvcrlib/lvrend_node_type_face.patch deleted file mode 100644 index 933208c95..000000000 --- a/kpvcrlib/lvrend_node_type_face.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- lvrend.cpp 2012-04-24 10:27:33.000000000 +0800 -+++ lvrend-patched.cpp 2012-04-24 10:27:28.000000000 +0800 -@@ -1902,7 +1902,8 @@ - UPDATE_STYLE_FIELD( font_style, css_fs_inherit ); - UPDATE_STYLE_FIELD( font_weight, css_fw_inherit ); - UPDATE_STYLE_FIELD( font_family, css_ff_inherit ); -- UPDATE_STYLE_FIELD( font_name, "" ); -+ //UPDATE_STYLE_FIELD( font_name, "" ); -+ pstyle->font_name = parent_font.get()->getTypeFace(); - UPDATE_LEN_FIELD( font_size ); - //UPDATE_LEN_FIELD( text_indent ); - spreadParent( pstyle->text_indent, parent_style->text_indent ); diff --git a/popen-noshell/popen_noshell-buildfix.patch b/popen-noshell/popen_noshell-buildfix.patch deleted file mode 100644 index 97c09b881..000000000 --- a/popen-noshell/popen_noshell-buildfix.patch +++ /dev/null @@ -1,86 +0,0 @@ -Index: CREDITS -=================================================================== ---- CREDITS (revision 0) -+++ CREDITS (working copy) -@@ -0,0 +1 @@ -+Taken from http://code.google.com/p/popen-noshell/ - -Property changes on: CREDITS -___________________________________________________________________ -Added: svn:keywords -## -0,0 +1 ## -+Id -\ No newline at end of property -Index: Makefile -=================================================================== ---- Makefile (revision 0) -+++ Makefile (working copy) -@@ -0,0 +1,17 @@ -+SRCS=popen_noshell.c -+ -+OBJS:=$(SRCS:%.c=%.o) -+ -+%.o: %.c -+ $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ -c $< -+ -+all: libpopen_noshell.a -+ -+libpopen_noshell.a: $(OBJS) -+ $(AR) rcs $@ $(OBJS) -+ -+clean: -+ rm -rf *.o -+ rm -rf libpopen_noshell.a -+ -+.PHONY: clean - -Property changes on: Makefile -___________________________________________________________________ -Added: svn:keywords -## -0,0 +1 ## -+Id -\ No newline at end of property -Index: popen_noshell.c -=================================================================== ---- popen_noshell.c (revision 8) -+++ popen_noshell.c (working copy) -@@ -16,6 +16,10 @@ - * along with this program. If not, see . - */ - -+#ifndef _GNU_SOURCE -+#define _GNU_SOURCE -+#endif -+ - #include "popen_noshell.h" - #include - #include -@@ -28,10 +32,6 @@ - #include - #include - #include -- --#ifndef _GNU_SOURCE --#define _GNU_SOURCE --#endif - #include - - /* -@@ -249,7 +249,7 @@ - * The above malloc() + align implementation is taken from: - * http://stackoverflow.com/questions/227897/solve-the-memory-alignment-in-c-interview-question-that-stumped-me - */ -- -+ - #ifndef POPEN_NOSHELL_VALGRIND_DEBUG - pid = clone(fn, stack_aligned, CLONE_VM | SIGCHLD, arg); - #else -@@ -358,7 +358,7 @@ - - pclose_arg->fp = fp; - pclose_arg->pid = pid; -- -+ - return fp; // we should never end up here - } - diff --git a/utils/pdfattach b/utils/pdfattach deleted file mode 100755 index a4de38aa8..000000000 --- a/utils/pdfattach +++ /dev/null @@ -1,125 +0,0 @@ -#!/bin/bash - -# -# pdfattach --- embed specified file(s) in a specified PDF file -# Requires pdfLaTeX and attachfile.sty package to run -# Returns 0 on success or >0 on error -# -# Written by Tigran Aivazian -# - -progname=$(basename $0) - -function escape_tex_specialchars() -{ - local txt=$1 - local res=$(echo "$txt" | sed -e "s%_%\\\_%g" -e "s%&%\\\&%g") - echo "$res" -} - -function usage() -{ - echo "Usage: $progname -o file.pdf [-a author] file1.djvu [file2.mp3] ..." - exit 1 -} - -if (! getopts ":o:" opt); then - echo "$progname: Missing options." >&2 - usage -fi - -if ! type pdflatex > /dev/null 2>&1 ; then - echo "$progname: pdfLaTeX program is required." >&2 - exit 1 -fi - -if ! kpsewhich attachfile.sty > /dev/null 2>&1 ; then - echo "$progname: attachfile.sty package is required." >&2 - exit 1 -fi - -declare outfile="" -declare -a infiles=() -declare -a infiles_texclean=() -declare -a infilesize=() -declare -i infcount=0 outfcount=0 totalsize=0 -declare author="" - -while getopts ":o:a:" opt; do - case $opt in - a) - author="$OPTARG" - ;; - o) - outfile=$(readlink -f "$OPTARG") - ((outfcount++)) - ;; - \?) - echo "$progname: Invalid option: -$OPTARG" >&2 - usage - ;; - :) - echo "$progname: Option -$OPTARG requires an argument." >&2 - usage - ;; - esac -done - -shift $((OPTIND-1)) - -numargs=$# -for ((i=1 ; i <= $numargs ; i++)) -do - fullname=$(readlink -f "$1") - if [ ! -r "$fullname" ] ; then - echo "$progname: cannot access the file \"$fullname\"" >&2 - usage - fi - infiles[$infcount]="$fullname" - infiles_texclean[$infcount]=$(escape_tex_specialchars $(basename "${infiles[$infcount]}")) - infilesize[$infcount]=$(stat --print="%s" "$fullname") - ((totalsize=totalsize+${infilesize[$infcount]})) - ((infcount++)) - shift -done - -if ((infcount == 0)) ; then - echo "$progname: No input file(s) specified." >&2 - usage -fi - -if ((outfcount != 1)) ; then - echo "$progname: One (and only one) output file must be specified." >&2 - usage -fi - -workdir=$(mktemp --tmpdir -d pdfattach.XXXXXX) -cd $workdir -> tmp.tex -# emit TeX preamble -echo -E "\documentclass{book}" >> tmp.tex -echo -E "\usepackage[margin={1mm},papersize={9cm,12cm}]{geometry}" >> tmp.tex -echo -E "\usepackage{hyperref,attachfile}" >> tmp.tex -if [ ! -z "$author" ] ; then - echo -E "\AtBeginDocument{\hypersetup{pdfauthor={$author}}}" >> tmp.tex -fi -echo -E "\begin{document}" >> tmp.tex -echo -E "\tolerance=10000\pagestyle{empty}\fontsize{7}{13}\selectfont" >> tmp.tex - -# emit the list of all files -for ((i = 0 ; i < ${#infiles[*]} ; i++)); -do - echo -E "\noindent \hyperlink{L$i}{$((i+1))/${infcount}} \texttt{${infiles_texclean[$i]}} (${infilesize[$i]} bytes)" >> tmp.tex - echo >> tmp.tex -done -echo -E "\noindent Total size $totalsize bytes\newpage" >> tmp.tex - -# now emit all the attachments, one per page -for ((i = 0 ; i < ${#infiles[*]} ; i++)); -do - echo -E "\noindent\hypertarget{L$i}$((i+1))/${infcount}\\\\\texttt{${infiles_texclean[$i]}} (\textattachfile[color={0 0 0}]{${infiles[$i]}}{${infilesize[$i]} bytes})\newpage" >> tmp.tex -done -echo -E "\end{document}" >> tmp.tex -pdflatex -halt-on-error tmp.tex > /dev/null && mv tmp.pdf "$outfile" -cd - > /dev/null -rm -rf $workdir